欢迎来到天天文库
浏览记录
ID:30774290
大小:361.00 KB
页数:21页
时间:2019-01-03
《android音频使用总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Android音频使用总结本文对Android音频播放做简单总结。一.基本概念(一)Android媒体格式Android提供了对常用音频和视频格式的支持,它所支持的音频格式有MP3,3GP,0GG,和WAVE(.ave)等,支持的视频格式有3GP和MPEG-4等,通过AndroidAPI提供的方法,可以实现音频与视频的播放。播放SD卡中的一个音频文件,注意权限的添加:Android.permission.READ_EXTERNAL_STORAGE(二)播放音频文件,一般使用的是:MediaPlayer类或SoundPool类。二.MediaPlayer的使用总结MediaP
2、layer可以使用静态方法创建也可以使用无参构造的方法来创建。(一)静态方法创建MediaPlayer对象使用create方法来绑定资源1.用于从资源ID对应的资源文件中装载音频,并返回新创建的MediaPlayer对象MediaPlayerplayer=MediaPlayer.create(this,R.raw.d);这里的资源文件是放在res/raw目录下的1.用于根据指定的URI来装载音频,并返回新创建的MediaPlayer对象MediaPlayerplayer=MediaPlayer・create(this,Uri,pares(“http://www.music.
3、baidu.com/sound/mylove・mp3”));但是,注意,这里的访问网络上的资源时,要在AndroidManifest.xml文件中授予该程序访问网络的权限,具代码如下〈use-permissionandroid:name二”android.permission.INTERNET”/>(二)根据无参数的构造方法,创建MediaPlayer对象用setDataSource()方法实现资源的绑定。具体代码:MediaPlayerplayer=newMediaPlayer();player・setDataSource(u/sdcard/s.wav”);player・
4、prepare();使用构造方法创建的MediaPlayer必须预加载音频。才能去播放文件。(二)MediaPlayer的常用方法1.setDataSource()//设置资源2.start()throwsIllegalStateException//开始播放,如果没有预编译错过会报错3.stopO//停止播放4.pause()〃暂停播放5.prepare()//同步加载6.prepareAsyncO//异步加载,完成后调用监听7.isPlayingO://本地方法,判断播放状态8.seekTo(intmsec)//本地方法,跳转到时间点9.intgetDurationO:
5、//本地方法,获取音乐总长度10.release()//释放资源11.reset()//重置MediaPlayer12.setLooping(booleanlooping)//设置循环13.publicnativebooleanisLoopingO;〃判断循环状态14.setVolume(floatleftVolume,floatrightVolume)//设置音量,左声道和右声道15.setVolume(floatvolume)//设置音量同步与异步的区别同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信
6、息才继续执行下去;异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。(二)MediaPlayer的几个监听方式1.异步加载完成时回调监听publicvoidsetOnPreparedListener(OnPreparedListenerlistenet)异步监听,一般在异步预加载之前就要设置好。2.音乐播放完毕后回调监听publicvoidsetOnCompletionListener(OnCompletionListenetlistener)一般用于设置播放完毕后,播放下一首还是循环播放
7、3.当跳转完成时的监听publicvoidsetOnSeekCompleteListener(OnSeekCompleteListenetlistener)一般用于监听进度突然改变的值的变化一.SoundPool的使用总结由于MediaPlayer占用资源较高,且不支持同时播放多个音频,所有Android为我们提供了另一个播放音频的类SounePool.SoundPool也就是音频池,它可以同时播放多个短促的音频,而且占用的资源少,例如游戏中的多个音频同时播放。SoundPool的音频文件也是放在res/raw/文
此文档下载收益归作者所有