实验六:在应用程序中播放音频和视频

实验报告

课程名称

基于Android平台移动互联网开发

实验日期

2016.4.12

实验项目名称

在应用程序中播放音频和视频

实验地点

S3010

实验类型

□验证型    √设计型    □综合型

学  时

2

一、实验目的及要求(本实验所涉及并要求掌握的知识点)

  1. 实现在应用程序中处理音频和视频。
  2. 实现播放音频,音频播放控制;
  3. 使用Service服务播放项目源文件中的音乐。

二、实验环境(本实验所使用的硬件设备和相关软件)

(1)PC机

(2)操作系统:Windows XP

(3)软件: Eclipse, JDK1.6,Android SDK,ADT

三、实验内容及步骤

  1. 在原有的help_layout.xml上添加按钮;
  2. 修改help.java文件;
  3. 完成设计后,显示界面运行截图

四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)

代码:

1、

 1 <Button
 2         android:id="@+id/help_sourcemusic"
 3         android:layout_width="fill_parent"
 4         android:layout_height="wrap_content"
 5         android:text="播放原文件中的音乐" />
 6 
 7     <Button
 8         android:id="@+id/help_localemusic"
 9         android:layout_width="fill_parent"
10         android:layout_height="wrap_content"
11         android:text="播放本地文件中的音乐" />
12 
13     <Button
14         android:id="@+id/help_pause"
15         android:layout_width="fill_parent"
16         android:layout_height="wrap_content"
17         android:text="暂停" />
18 
19     <Button
20         android:id="@+id/help_stop"
21         android:layout_width="fill_parent"
22         android:layout_height="wrap_content"
23         android:text="停止" />

 

2、

  1 public void onCreate(Bundle savedInstanceState) {
  2         super.onCreate(savedInstanceState);
  3         setContentView(R.layout.help_layout);
  4         ActionBar abar = getActionBar();
  5         abar.setDisplayShowHomeEnabled(true);
  6         abar.setDisplayHomeAsUpEnabled(true);
  7         btnSourcmc = (Button) findViewById(R.id.help_sourcemusic);
  8         btnPause = (Button) findViewById(R.id.help_pause);
  9         btnStop = (Button) findViewById(R.id.help_stop);
 10         btnLocalmc = (Button) findViewById(R.id.help_localemusic);
 11         btnPause.setOnClickListener(new OnClickListener() {
 12 
 13             @Override
 14             public void onClick(View v) {
 15                 // TODO Auto-generated method stub
 16                 if (mplayer.isPlaying()) {
 17                     mplayer.pause();
 18                 }
 19             }
 20         });
 21         btnStop.setOnClickListener(new OnClickListener() {
 22 
 23             @Override
 24             public void onClick(View v) {
 25                 // TODO Auto-generated method stub
 26                 if (mplayer.isPlaying()) {
 27                     mplayer.stop();
 28                     start = true;
 29                 }
 30 
 31             }
 32         });
 33         btnLocalmc.setOnClickListener(new OnClickListener() {
 34 
 35             @Override
 36             public void onClick(View arg0) {
 37                 // TODO Auto-generated method stub
 38                 file = new File("/sdcard/nanshannan.mp3");
 39                 try {
 40                     mplayer.reset();
 41                     mplayer.setDataSource(file.getAbsolutePath());
 42                     Toast.makeText(Help.this, file.getAbsolutePath(),
 43                             Toast.LENGTH_LONG).show();
 44 
 45                     mplayer.prepare();
 46                     mplayer.start();
 47 
 48                 } catch (IllegalArgumentException e) {
 49                     // TODO Auto-generated catch block
 50                     e.printStackTrace();
 51                 } catch (SecurityException e) {
 52                     // TODO Auto-generated catch block
 53                     e.printStackTrace();
 54                 } catch (IllegalStateException e) {
 55                     // TODO Auto-generated catch block
 56                     e.printStackTrace();
 57                 } catch (IOException e) {
 58                     // TODO Auto-generated catch block
 59                     e.printStackTrace();
 60                 }
 61             }
 62         });
 63         btnSourcmc.setOnClickListener(new OnClickListener() {
 64 
 65             @Override
 66             public void onClick(View arg0) {
 67                 // TODO Auto-generated method stub
 68                 if (mplayer == null || start) {
 69                     mplayer.reset();
 70                     mplayer = new MediaPlayer();
 71                     mplayer = MediaPlayer.create(Help.this,
 72                             R.raw.nanshannan);
 73                     mplayer.start();
 74                     start = false;
 75                 } else if (mplayer != null) {
 76                     mplayer.start();
 77                 }
 78             }
 79         });
 80     }
 81     
 82 
 83     @Override
 84     public boolean onCreateOptionsMenu(Menu menu) {
 85         // TODO Auto-generated method stub
 86         getMenuInflater().inflate(R.menu.actionbar, menu);
 87         return super.onCreateOptionsMenu(menu);
 88     }
 89 
 90     @Override
 91     public boolean onOptionsItemSelected(MenuItem item) {
 92         // TODO Auto-generated method stub
 93         Intent intent = getIntent();
 94         switch (item.getItemId()) {
 95         case android.R.id.home: {
 96             finish();
 97             break;
 98         }
 99         case R.id.about: {
100             intent.setClass(this, SecondActivity.class);
101             startActivity(intent);
102             finish();
103             break;
104         }
105         case R.id.newgame :{
106             intent.setClass(this, New_Game.class);
107             startActivity(intent);
108             finish();
109             break;
110         }
111         default:{
112             break;
113         }
114         }
115         return super.onOptionsItemSelected(item);
116     }
117     protected void onDestroy() {
118         // TODO Auto-generated method stub
119         if (mplayer.isPlaying()) {
120             mplayer.stop();
121         }
122         super.onDestroy();
123     }
124 }

 

运行结果:(截图)

 

 

五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

在同学的帮助下,慢慢地完成了本次作业,Android基础薄弱,感觉慢慢有点跟不上,不过还是会和同学们讨论,不懂得会及时地去咨询懂得同学。

实验评语

 

实验成绩

 

指导教师签名:              年   月   日

      

转载于:https://www.cnblogs.com/zhushengjie/p/5420069.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值