Android多媒体之MediaPlayer
更新时间:2024-06-22 14:27:01 阅读量: 综合文库 文档下载
- Android多媒体框架推荐度:
- 相关推荐
Android多媒体之MediaPlayer
Android应用增加动画,视频,音乐等多媒体功能,因此为手机提供音频录制,播放,视频录制,播放的功能十分重要。Android提供了常见音频,视频的编码,解码机制,Android支持的音频格式有MP3,WAV和3GP等,支持的视频格式有MP4和3GP等。Android提供了这些多媒体的支持类,可以非常方便地在手机应用中播放音频,视频等。这些多媒体数据可以来自Android应用的资源文件,也可以来自外部存储器上的文件,也可以来自网络的文件流。
不仅如此,Android也提供了对摄像头,麦克风的支持,因此也可以十分方便地从外部采集照片,视频,音频等多媒体信息。
1
——音频和视频的播放 ——MediaPlayer播放音频
1)MediaPalyer进行播放控制的方式: start():开始或者恢复播放 stop():停止播放 pause():暂停播放
2)MediaPlayer装载指定音频文件的方式 static MediaPlayer create(Content,Uri):从指定Uri来装载音频文件,并返回新创建的MediaPlayer对象。
static MediaPlayer create(Content,int resid):从redid资源ID来装载音频文件,并返回新创建的MediaPlayer对象。 上面这两个方法使用起来很简单,但这两个方法每次都会返回新的MediaPlayer.如果程序需要播放多个音频文件,使用该方法就不
2
太合适了。此时可通过setDataSource方法装载指定的音频文件。
MediaPlayer m = new MediaPlayer():只需要创建一个对象
setDataSource(String path):指定装载path路径所代表的文件
setDataSource(FileDescriptor fs,long offset,long length):指定装载fd所代表的文件中从offset开始,长度为length的文件内容。
setDataSource(FileDescriptor fd):指定装载fd所代表的文件
setDataSource(Context,Uri):指定装载Uri所代表的文件
3
执行setDataSource方法之后,
MediaPlayer并未真正装载那些音频文件,还需要调用prepare()方法准备装载音频。 3)播放应用raw的资源文件
MediaPlayer
m=MediaPlayer.create(this,R.raw.apple); m.start();
4)播放应用raw的资源文件
MediaPlayer m=new MediaPlayer(); m.setDataSource(Context,Uri.parse( \\
5)播放应用的原始资源文件 a)调用Context的getAssets()获取AssetManager;
4
b)调用AssetManager的openFd(String name)方法打开指定的原生资源.返回AssetFileDescriptor对象 c)调用AssetFileDescriptor的
getFileDescriptor()方法来获取音频文件的FileDescriptor.
d)创建MediaPlayer对象,调用setDataSource(FileDescriptor)方法。 e)调用MediaPlayer的prepare()方法准备音频
f)调用MediaPlayer的
start(),stop(),pause()方法控制播放即可 5)播放外部存储器上音频文件 a)创建MediaPlayer对象,调用setDataSource(\ b)调用MediaPlayer对象的prepare()方法
5
c)调用MediaPlayer的
start(),stop(),pause()方法控制播放即可 6)播放来自网络的音频文件
a)根据网络上的音频文件所在的位置创建Uri对象。
Uri uri =
Uri.parse(\);
b)创建MediaPlayer对象,调用setDataSource(Context,Uri);
c)调用MediaPlayer对象的prepare()方法 d)调用MediaPlayer的
start(),stop(),pause()方法控制播放即可 7)如播放下一首歌曲的代码: mPlayer.reset();//空闲状态
mPlay-er.setDataSource(\
6
mPlayer.prepare(); mPlayer.start();
8)MediaPlayer还提供了事件监听器的方法 setOnCompletionListener():播放完成事件绑定事件监听器
setOnErrorListener():播放错误事件绑定事件监听器
setOnPreparedListener():调用prepare()方法时触发该监听器
setOnSeekCompleteListener():调用seek()方法时触发该监听器
9)Mediaplayer除了调用prepare()方法准备声音之外, 还可以调用
prepareAsync()来准备声音,他们的区别在于:
7
prepareAsync()是异步的,它不会阻塞当前的UI线程。
10)MediaPlayer的状态图
reset():清空MediaPlayer中的数据 setDataSource():设置音频数据 prepare():准备装载音频数据
prepareAsync():准备装载音频数据(异步)
seekTo():重新定位到音频数据的什么位置,单位毫秒
seekTo()是定位方法,可以让播放器从指定的位置开始播放,需要注意的是该方法是个异步方法,也就是说该方法返回时并不意味着定位完成,尤其是播放的网络文件,真正定位完成时会触发
OnSeekComplete.onSeekComplete(),如果需要是可以调用
8
setOnSeekCompleteListen-er(OnSeekCompleteListener)设置监听器来处理的。 start(): pause(): stop():
release():释放MediaPlayer资源
11)其他的方法
setLooping(true):是否重复播放 setAudioStreamType() 设置使用的音频流
9
A(播放音乐的界面)—>B
onPause()—>onCreate,onStart/onResume —>onStop
10
正在阅读:
军事理论试题题库01-09
阅读材料07-04
英语语法练习--主动语气与被动语气转换07-28
小学思想品德论文12-10
中级职称考试大纲03-31
珍惜资源保护环境02-07
草船借箭缩写350字06-22
读《小萝卜头的故事》有感700字07-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- MediaPlayer
- Android
- 多媒体