移动平台视频开发工具.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ijkplayer 是一个基于 ffplay 的轻量级Android/iOS 视频播放器。实现了跨平台功 能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省 电;提供Android 平台下应用弹幕集成的解决方案,此方案目前已用于美拍和斗鱼 APP。 今天就给大家介绍一下这款播放框架。 下载完成后使用 Android studio 导入 android 下面的 ijkplayer 项目即可,会自动下 载需要的工具包等。等编译完成就是下面这样,猛一看,都是什么?下面为大家一一说明。 首先是框架的目录结构 链接库: 我们看到 ijkplayer-arm64,ijkplayer-armv5,ijkplayer-armv7a, ijkplayer-x86,ijkplayer-x86_64 是不同体系架构的动态链接库,在当前工程结构里面 作为一个模块,如果不想做兼容多平台问题,可以删除其他目录结构,单独保留自己需要 的平台目录。我这里已经把无用的删除。 然后是 ijkplayer-exo 包,通过安装 ijkplayer 可以发现 setting 里面可以选择不同 player 来渲染多媒体显示,该模块下面就是一个 MediaPlayer,主要是这个 IjkExoMediaPlayer 类。 ijkplayer-java,这里面是通用的API 接口,里面最主要的是 IMediaPlayer,它也是 用来渲染显示多媒体的,该模块的目录结构如下所示: 然后就是项目实例,在 example 文件夹里面 其中实现了类似于 Android VideoView 的 IjkVideoView,我们也可以根据自己需求实 现自己的 VideoView,用来渲染显示多媒体。 好,看完了项目结构,我们来看下使用的步骤。 在资源文件中添加如下代码,也就是引用控件 tv.danmaku.ijk.media.example.widget.media.IjkVideoView android:id=@+id/video_view android:layout_width=match_parent android:layout_height=match_parent android:layout_gravity=center /tv.danmaku.ijk.media.example.widget.media.IjkVideoView 在代码中调用,如果需要进行多媒体播放,其实和 Android 提供的多媒体播放 api 差不 多,具体流程如下: // init player IjkMediaPlayer.loadLibrariesOnce(null); IjkMediaPlayer.native_profileBegin(libijkplayer.so); 设置要播放 uri,可以是rtmp,rtsp,http 等,native ffplay 代码中会根据该 uri 匹 配不同的流媒体协议,具体参考 ffplay。 if (mVideoUri != null) mVideoView.setVideoURI(mVideoUri); 开始播放 mVideoView.start(); 停止播放: if (mBackPressed ||!mVideoView.isBackgroundPlayEnabled()) { mVideoView.stopPlayback(); mVideoView.release(true); mVideoView.stopBackgroundPlay(); } else { mVideoView.enterBackground(); } IjkMediaPlayer.native_profileEnd(); 基本的使用就是这些,其它的就是布局和生命周期相关的东西,篇幅有限,以后咱们再 详细的说明。有兴趣的同学可以在上面的链接下载源码查看。

文档评论(0)

wx171113 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档