课程名称
基于Android平台移动互联网开发
实验日期
2016年4月15日
实验项目名称
在应用程序中播放音频和视频
实验地点
S30010
实验类型
□验证型 √设计型 □综合型
学 时
一、实验目的及要求(本实验所涉及并要求掌握的知识点)
1、实现在应用程序中处理音频和视频。
2、实现播放音频,音频播放控制;实现播放视频,视频播放控制;
3、使用Service服务播放项目源文件中的音乐。
二、实验环境(本实验所使用的硬件设备和相关软件)
(1)PC机
(2)操作系统:Windows XP
(3)软件: Eclipse, JDK1.6,Android SDK,ADT
三、实验内容及步骤
1、在Sudoku项目中修改布局文件activity_main.xml,添加必要的控件。在项目中新建raw文件夹,把.mp3类型的音频文件复制到raw文件夹下。通过DDMS导入到SD卡。
2、定义MediaPlayer对象,findViewById()方法为各种按钮建立关联。
3、为各种按钮添加事件监听
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)
代码:MainActivity类代码
public class MainActivity extends Activity {
private Button exitbtn;
private Button musicbtn;
private Button localbtn;
private Button stopbtn;
private File file;
private TextView tv1;
final int code=0x717;
public MediaPlayer musicplayer=new MediaPlayer(); //定义MediaPlayer对象
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent=getIntent(); //创建intent对象
Bundle bundle=intent.getExtras(); //获取传递值,并用bundle接收
String str=bundle.getString("用户名:"+bundle.getString("userName")); //获取传递的字符串值
tv1 = (TextView) findViewById(R.id.TextView01);
// 从Intent获得额外信息,设置为TextView的文本
tv1.setText("用户名:"+bundle.getString("userName"));
exitbtn=(Button)findViewById(R.id.exit_btn);
exitbtn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent intent=new Intent();
intent.setClass(MainActivity.this,LoginActivity.class);
startActivityForResult(intent,code);
finish();
}
});
musicbtn=(Button)findViewById(R.id.btnmusic); //为各种按钮建立关联
localbtn=(Button)findViewById(R.id.btnlocal);
stopbtn=(Button)findViewById(R.id.btnstop);
musicbtn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
musicplayer=MediaPlayer.create(MainActivity.this,R.raw.nan);
musicplayer.start();
tv1.setText("正在播放源文件夹音乐");
}
});
file=new File("/sdcard/rain.mp3");
if(file.exists()){
musicplayer=MediaPlayer.create(this, Uri.parse(file.getAbsolutePath()));} //创建MediaPlayer对象
else{
tv1.setText("要播放的音频文件不存在");
}
localbtn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
musicplayer.reset();
try {
musicplayer.setDataSource(file.getAbsolutePath()); //重新设置要播放的音频
musicplayer.prepare(); //预加载音频
musicplayer.start();
tv1.setText("正在播放本地音乐");
} catch (Exception e) {
e.printStackTrace();
}
}
});
stopbtn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
if(musicplayer.isPlaying()){
musicplayer.stop();
tv1.setText("停止播放音乐");
}
}
});
} //onDestroy()方法 ,在当前Activity销毁时,停止正在播放的音频,释放MediaPlayer所占资源
protected void onDestroy() {
if (musicplayer.isPlaying()) {
musicplayer.stop();
}
musicplayer.release();
super.onDestroy();
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu); //在activity中加载定义好的菜单资源main.xml,实例化
return true;
}
运行结果:(截图)
点击“播放源文件夹音乐”时显示 如图1:并播放源文件夹音乐nan.mp3
点击“播放本地音乐”时显示 如图2:并播放SD卡音乐rain.mp3
点击“停止播放音乐”时显示 如图3:并停止播放音乐
点击“退出”时显示 如图4,退回登录界面,停止正在播放的音乐。
图1 图2
图3 图4
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)
在播放本地音乐时,要添加file=new File( )获取要播放的文件。实验前要实现“播放源文件夹音乐”,需要在项目中新建raw文件夹,把.mp3类型的音频文件复制到raw文件夹下。实现“播放本地音乐” 要通过DDMS把音频文件导入到SD卡。
实验评语
实验成绩
指导教师签名: 年 月 日
转载于:https://www.cnblogs.com/family6/p/5404898.html