多媒体应用开发培训课件

上传人:F****n 文档编号:96377537 上传时间:2019-08-25 格式:PPT 页数:46 大小:1.43MB
返回 下载 相关 举报
多媒体应用开发培训课件_第1页
第1页 / 共46页
多媒体应用开发培训课件_第2页
第2页 / 共46页
多媒体应用开发培训课件_第3页
第3页 / 共46页
多媒体应用开发培训课件_第4页
第4页 / 共46页
多媒体应用开发培训课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《多媒体应用开发培训课件》由会员分享,可在线阅读,更多相关《多媒体应用开发培训课件(46页珍藏版)》请在金锄头文库上搜索。

1、,本章要求:,第3章 多媒体应用开发,使用MediaPlayer播放音频 使用SoundPool播放音频 使用VideoView组件播放视频 使用MediaPlayer和SurfaceView播放视频,3.1 播放音频与视频 3.2 综合实例,第3章 多媒体应用开发,随着3G时代的到来,在手机和平板电脑上应用多媒体已经非常广泛了。Android作为又一大手机、平板电脑操作系统,对于多媒体应用也提供了良好的支持。它不仅支持音频和视频的播放,而且还支持录制音频等。本章将对Android中的音频及视频等多媒体应用进行详细介绍。,第3章 多媒体应用开发,3.1.1 使用MediaPlayer播放音频

2、3.1.2 使用SoundPool播放音频 3.1.3 使用VideoView播放视频 3.1.4 使用MediaPlayer和SurfaceView播放视频,3.1 播放音频与视频,Android提供了对常用音频和视频格式的支持,它所支持的音频格式有MP3(.mp3)、3GPP(.3gp)、Ogg(.ogg)和WAVE(.ave)等,支持的视频格式有3GPP(.3gp)和MPEG-4(.mp4)等。通过Android API提供的相关方法,可以实现音频与视频的播放。下面将分别介绍播放音频与视频的不同方法。,3.1 播放音频与视频,在Android中,提供了MediaPlayer类用来播放音频

3、。使用MediaPlayer类播放音频比较简单,只需要创建该类的对象,并为其指定要播放的音频文件,然后再调用它的start()方法就可以播放音频文件了。下面详细介绍如何使用MediaPlayer播放音频文件。 1创建MediaPlayer对象,并装载音频文件 创建MediaPlayer对象,并装载音频文件。可以使用该类提供的静态方法create()来实现,也可通过它的无参构造方法来创建并实例化该类的对象来实现。 MediaPlayer类的静态方法create()常用的语法格式有以下两种: create(Context context, int resid) 用于从资源ID所对应的资源文件中装载

4、音频,并返回新创建的MediaPlayer对象。例如,要创建装载音频资源(res/raw/d.wav)的MediaPlayer对象,可以使用下面的代码: MediaPlayer player=MediaPlayer.create(this, R.raw.d); create(Context context, Uri uri) 用于根据指定的URI来装载音频,并返回新创建的MediaPlayer对象。例如,要创建装载了音频文件(URI地址为,3.1.1 使用MediaPlayer播放音频,http:/ MediaPlayer player=MediaPlayer.create(this, Uri

5、.parse(“http:/ 说明: 在访问网络中的资源时,要在AndroidManifest.xml文件中授予该程序访问网络的权限,具体的授权代码如下: 在通过MediaPlayer类的静态方法create创建MediaPlayer对象时,已经装载了要播放的音频,而使用无参的构造方法来创建MediaPlayer对象时,需要单独指定要装载的资源,这可以使用MediaPlayer类的setDataSource方法实现。 在使用setDataSource方法装载音频文件后,实际上MediaPlayer并未真正去装载该音频文件,还需要调用MediaPlayer的prepare方法去装载音频文件。使用

6、无参的构造方法来创建MediaPlayer对象并装载指定的音频文件可以使用下面的代码:,MediaPlayer player=new MediaPlayer(); try player.setDataSource(“/sdcard/s.wav“); /指定要装载的音频文件 catch (IllegalArgumentException e1) e1.printStackTrace(); catch (SecurityException e1) e1.printStackTrace(); catch (IllegalStateException e1) e1.printStackTrace();

7、 catch (IOException e1) e1.printStackTrace(); try player.prepare(); /预加载音频 catch (IllegalStateException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); ,2开始或恢复播放 在获取到MediaPlayer对象后,就可以使用MediaPlayer类提供的start方法来开始播放或恢复已经暂停的音频的播放。例如,已经创建了一个名称为player,并且装载了要播放音频的MediaPlayer,可以使用下面的代码播放

8、该音频。 player.start(); /开始播放 3停止播放 使用MediaPlayer类提供的stop方法可以停止正在播放的音频。例如,已经创建了一个名称为player,并且已经开始播放装载的音频,可以使用下面的代码停止播放该音频。 player.stop(); /停止播放 4暂停播放 使用MediaPlayer类提供的pause方法可以暂停正在播放的音频。例如,已经创建了一个名称为player,并且已经开始播放装载的音频,可以使用下面的代码暂停播放该音频。 player.pause(); /暂停播放,【例13-1】 在Eclipse中创建Android项目,实现包括播放、暂停/继续和停

9、止功能的简易音乐播放器。 (1)将要播放的音频文件上传到SD卡的根目录中,这里要播放的音频文件为ninan.mp3。 (2)修改新建项目的res/layout目录下的布局文件main.xml,在默认添加的线性布局管理器中添加一个水平线性布局管理器,并在其中添加3个按钮,分别为“播放”按钮、“暂停/继续”按钮和“停止”按钮。 (3)打开默认添加的MainActivity,在该类中,定义所需的成员变量,具体代码如下: private MediaPlayer player; / MediaPlayer对象 private boolean isPause = false; / 是否暂停 private

10、 File file; / 要播放的音频文件 private TextView hint; / 声明显示提示信息的文本框 (4)在onCreate()方法中,首先获取布局管理器中添加的“播放”按钮、“暂停/继续”按钮、“停止”按钮和显示提示信息的文本框,然后获取要播放的文件,最后再判断该文件是否存在,如果存在,则创建一个装载该文件的MediaPlayer对象,否则,显示提示信息,并设置“播放”按钮不可用,关键代码如下:,final Button button1 = (Button) findViewById(R.id.button1); / 获取播放按钮 final Button button

11、2 = (Button) findViewById(R.id.button2); / 获取“暂停/继续”按钮 final Button button3 = (Button) findViewById(R.id.button3); / 获取“停止”按钮 hint = (TextView) findViewById(R.id.hint); / 获取用户显示提示信息的文本框 file = new File(“/sdcard/ninan.mp3“); / 获取要播放的文件 if (file.exists() / 如果文件存在 player = MediaPlayer .create(this, Uri

12、.parse(file.getAbsolutePath();/ 创建MediaPlayer对象 else hint.setText(“要播放的音频文件不存在!“); button1.setEnabled(false); return; (5)编写用于播放音乐的play()方法,该方法没有入口参数的返回值。在该方法中,首先调用MediaPlayer对象的reset()方法重置MediaPlayer对象,然后重新为其设置要播放的音频文件,并预加载该音频,最后调用,start()方法开始播放音频,并修改显示提示信息的文本框中的内容,具体代码如下: private void play() try pl

13、ayer.reset(); / 重新设置要播放的音频 player.setDataSource(file.getAbsolutePath(); player.prepare(); / 预加载音频 player.start(); / 开始播放 hint.setText(“正在播放音频.“); catch (Exception e) e.printStackTrace(); / 输出异常信息 (6)为MediaPlayer对象添加完成事件监听器,用于当音乐播放完毕后,重新开始播放音乐,具体代码如下:,player.setOnCompletionListener(new OnCompletionLi

14、stener() Override public void onCompletion(MediaPlayer mp) play(); / 重新开始播放 ); (7)为“播放”按钮添加单击事件监听器,在重写的onClick()方法中,首先调用play()方法开始播放音乐,然后对代表是否暂停的标记变量isPause进行设置,最后再设置各按钮的可用状态,关键代码如下: button1.setOnClickListener(new OnClickListener() Override public void onClick(View v) play(); / 开始播放音乐 if (isPause) b

15、utton2.setText(“暂停“); isPause = false; / 设置暂停标记变量的值为false ,button2.setEnabled(true); / “暂停/继续”按钮可用 button3.setEnabled(true); / “停止”按钮可用 button1.setEnabled(false); / “播放”按钮不可用 ); (8)为“暂停/继续”按钮添加单击事件监听器,在重写的onClick()方法中,如果MediaPlayer处于播放状态并且标记变量isPause的值为false,则暂停播放音频,并设置相关信息,否则调用MediaPlayer对象的start()方法继续播放音乐,并设置相关信息,关键代码如下: button2.setOnClickListener(new OnClickListener() Override public void onClick(View v) if (player.isPlaying() ,button1.setEnabled(true); / “播放”按钮可用 else player.start(); / 继续播放 (Button) v).setText(“暂停“); hint.s

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号