音视频播放 第十一章 多媒体应用开发

第十一章 多媒体应用开发
文章目录1.2 的状态图和及生命周期2、类 2.3 环绕音2.4 均衡器2.5 预设混响处理: .6 环境声混响器: .7 :示波器 3、类 4、使用播放音频 5、类 6、使用 和播放视频
第一节 音视频开发
SDK 提供了简单的 API 来播放音频、视频,从而让大部分的 应用程序开发者无需为音频和视频的一些底层操作而担忧 。提供了常见音频、视频的编码、解码机制,支持的音频格式较多,常见的有 MP3、WAVE、Ogg 和 3GP 等,支持的视频格式常见的有 MP4 和 3GP 等 。在操作系统之中,开发者直接使用类就可以完成音频或视频文件的播放操作 。
1、类
是处于多媒体包下".media."的自带的多媒体库, 一般我们用于实现音频和视频(视频需要和其他控件一起使用比如:和 等)的操作
1.1使用播放音频 1.创建对象,并装载音频文件
① 可以使用直接new的方式:
MediaPlayer mp = new MediaPlayer();//要用setDataSource()方法指定要播放的资源文件 。并且在调用start()方法之前需要调用prepare () 。//装载文件player=new MediaPlayer();try {player.setDataSource(this,Uri.**parse**("android.resource://" + getPackageName() + "/" + R.raw.**da**));player.prepare();} catch (IOException e) {e.printStackTrace();}
② 也可以使用的方式,如:
MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了,直接用player.start(),不需要也不能在start()方法之前调用prepare()方法
2.设置要播放的文件
的一共四个方法:
在使用()方法装载音频文件后,实际上并未真正装载该音频文件,还需要调用的 ()方法真正装载音频件
要播放的文件主要包括3个来源:
① 播放应用中事先自带的资源
res文件夹与asset文件夹的区别?
中资源分为两种,一种是res下可编译的资源文件, 这种资源文件系统会在R.Java里面自动生成该资源文件的ID,访问也很简单,只需要调用R.xxx.id即可;第二种就是放在文件夹下面的原生资源文件,放在这个文件夹下面的文件不会被R文件编译,所以不能像第一种那样直接使用;并且res/raw不可以有目录结构,而则可以有目录结构,也就是目录下可以再建立文件夹
A. 播放应用的资源文件
? i. 调用的(, int resid)方法加载指定资源文件 。
? ii. 调用的start()、pause ()、stop()等方法控制播放即可 。
音频资源文件一般放在应用的/res/raw目录下
例如:.(this, R.raw.song);
或者使用()
Uri uri=Uri.parse("android.resource://"+this.getPackageName()+"/"+R.raw.da);player=new MediaPlayer();try {?player.setDataSource(this,uri);?player.prepare();} catch (IOException e) {?e.printStackTrace();}
B. 播放应用的原始资源文件
? i. 调用中的 ()方法获取应用的 。
? ii. 调用对象的( name)方法打开指定的原生资源,该方法返回一个对象 。
? //获取通过()的方法获取asset目录下指定文件的对象 。
? iii. 调用的()、()和()方法来获取音频文件的、开始位置、长度等 。
? //在中一项的文件描述符 。这提供你自己打开的可用于读取的数据,以及在文件中的偏移量和长度的该项的数据 。
? iv. 创建对象,并调用对象的( fd , long ,long)方法来装载音频资源 。
? v. 调用对象的 ()方法准备音频 。
? vi. 调用的start()、pause()、stop()等方法控制播放即可
② 存储在SD卡或其他文件路径下的媒体文件
? i. 创建对象,并调用对象的( path)方法装载指定音频文件 。