实验报告
课程名称 |
基于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卡。 |
|||||
实验评语 |
|
||||
实验成绩 |
|
指导教师签名: 年 月 日 |
|||