- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;Android多媒体应用;Android多媒体框架包含了对各种通用的媒体类型的支持
通过Android中提供的MediaPlayer类来实现的
MediaPlayer在底层是基于OpenCore(也叫PacketVideo)的库实现的
这种进程间通讯的基础是Android基本库中的Binder机制
;
MediaPlayer:该类用来实现音视频播放功能,它提供了播放音视频所需要的所有基础API。
AudioManager:该类用来管理音频资源和的音频输出设备。
;应用中使用MediaPlayer做音视频开发,在以下两种情况下需要加入相应的权限声明
网络权限:需要播放来自网络的多媒体流
唤醒锁权限:在播放多媒体文件时,如果需要让屏幕变暗或处理器睡眠
;MediaPlayer对象对音视频的播放过程由多个状态组成的一整套机制,这套机制就是MediaPlayer的生命周期。
当一个MediaPlayer对象被新建或者调用reset()方法之后,它处于空闲(Idle)状态,在调用release()方法后,才会处于结束(End)状态
任何MeidaPlayer对象都必须处于准备(Prepared)状态,然后才开始播放。
要开始播放MeidaPlayer对象都必须成功调用start()方法,可以通过isPlaying()方法来检测当前是否正在播放
通过setLooping(boolean)方法来设置是否循环播放
;static MediaPlayer create(Context context, Uri uri):通过Uri创建一个多媒体播放器
int getCurrentPosition():得到当前播放位置
int getDuration():得到所播放文件的持续时间
boolean isLooping():是否循环播放
boolean isPlaying():是否正在播放
void pause():暂停
void seekTo(int msec):指定播放的位置(以毫秒为单位的时间)
void setLooping(boolean looping):设置是否循环播放
void start():开始播放
void stop():停止播放
;MediaPlayer可以支持以下三种不同的多媒体来源
本地资源
内部的URI指向的资源
外部的URL指向的资源,往往是从网络上获取到的多媒体流
;一些较小的多媒体资源放在res/raw/文件夹中,使用R.raw.xxx来找到这个多媒体资源文件。几十MB或更大的视频文件,将其放在SD卡中,或者直接放在服务器上,等应用程序需要播放视频时,从服务器上获取视频流进行播放即可;对于程序内部通过URI指定的多媒体资源;资源必须是可以下载的,也就是需要已经拥有了下载权限,;MediaPlayer主要用于播放音频,它是没有提供输出图像的输出界面。因此需要使用SurfaceView控件,将它与MediaPlayer结合起来,即可达到视频的输出效果。
SurfaceView的子类VideoView,可以直接在界面中建立一个用于播放视频的控件。
与使用SurfaceView做视频开发相比,VideoView的编程更加方便,但是功能扩展性和编程自由度低于后者。;SurfaceView继承自View,其中内嵌了一个专门用于绘制的Surface。
Surfaceview提供了一个可见区域,只有在这个可见区域内的Surface部分内容才可见。
SurfaceHolder.Callback用来实现接口,以接收surface变化的消息,为Surface设置Callback的方法是SurfaceHolder.addCallback。
SurfaceView变得可见时,Surface被创建,SurfaceView隐藏前,Surface被销毁;SurfaceView的核心在于提供了两个线程:UI线程和绘图线程(Drawing Thread)。
通过SurfaceView与MediaPlayer结合的方式实现视频播放功能的步骤如下
创建MediaPlayer对象,并设置加载的视频文件(setDataSource())。
在界面布局文件中定义SurfaceView控件。
通过MediaPlayer.setDisplay(SurfaceHolder sh)来指定视频画面输出到SurfaceView之上。
通过MediaPlayer的其他一些方法用于播放视频;VideoView 是android 系统提供的一个媒体播放显示和控制的控件,它继承自SurfaceView。
使用VideoView时,我们不需要管理MediaPalyer的各种状态,这些状态都已经被VideoView给封装好了。
当VideoView被创建的时候,MediaPa
您可能关注的文档
- 生态学全套配套课件第三版杨持第四章.ppt
- 生活与哲学导学案方档和课件版单元检测卷(一).doc
- 生活与哲学导学案方档和课件版第一单元总结学案.ppt
- 生活与哲学导学案方档和课件版第一单元第一课学案1.ppt
- 生活与哲学导学案方档和课件版第一单元第一课学案2.ppt
- 生活与哲学导学案方档和课件版第一单元第二课学案1.ppt
- 生活与哲学导学案方档和课件版第一单元第二课学案2.ppt
- 生活与哲学导学案方档和课件版第七课学案1.ppt
- 生活与哲学导学案方档和课件版第七课学案2.ppt
- 生活与哲学导学案方档和课件版第三单元总结学案.ppt
- 小学语文故事讲述法在培养学生想象力的实践探索教学研究课题报告.docx
- 《2025年情感陪伴机器人技术方案分析:提升独居老人生活质量的智能交互》.docx
- 高中物理教学中学生科学探究能力培养策略与实践研究教学研究课题报告.docx
- 基于核心素养的高中地理野外考察活动课程设计与实施研究教学研究课题报告.docx
- 小学阶段学生创新实践活动数字化评价方法的创新与实践教学研究课题报告.docx
- 微生物燃料电池在生物降解材料制备中的效能优化与机理研究教学研究课题报告.docx
- 初中历史教学中爱国主义情感教育的策略与实践教学研究课题报告.docx
- 初中历史教学中比较史观与史料实证能力培养课题报告教学研究课题报告.docx
- 《戏曲艺术传承与创新:社会困境与创新发展路径探讨》教学研究课题报告.docx
- 2025年大学《林产化工-林产品分析检测》考试模拟试题及答案解析.docx
原创力文档


文档评论(0)