Ijkplayer Android介绍
来源:互联网 发布:iphone获取软件 编辑:程序博客网 时间:2024/06/05 19:16
Ijkplayer Android目录结构
Ijkplayer Android可以将该工程导入android studio进行编译,当它下载好需要的资源文件(例如sdk build tool,gradle等)就可以进行编译了,该工程的目录结构如下图所示:
链接库:
ijkplayer-arm64,ijkplayer-armv5,ijkplayer-armv7a,ijkplayer-x86,ijkplayer-x86_64是不同体系架构的动态链接库,在当前工程结构里面作为一个模块,如果不想做兼容多平台问题,可以删除其他目录结构,单独保留自己需要的平台目录。
IjkExoMediaPlayer
ijkplayer-exo,通过安装ijkplayer可以发现setting里面可以选择不同player来渲染多媒体显示,该模块下面就是一个MediaPlayer
ijkplayer 通用API
ijkplayer-java,这里面是通用的API接口,里面最主要的是IMediaPlayer,它也是用来渲染显示多媒体的,该模块的目录结构如下所示:
ijkplayer 实例
ijkplayer-sample是源代码中的实例,它的目录结构如下所示:
其中实现了类似于Android VideoView的IjkVideoView,我们也可以根据自己需求实现自己的VideoView,用来渲染显示多媒体。
ijkplayer使用
资源文件
在资源文件中添加IjkVideoView自定义控件,用来渲染显示多媒体。如下图所示:
<tv.danmaku.ijk.media.sample.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.sample.widget.media.IjkVideoView>
Java代码调用
如果需要进行多媒体播放,其实和Android提供的多媒体播放api差不多,具体流程如下:
初始化
加载native底层库
IjkMediaPlayer.loadLibrariesOnce(null);IjkMediaPlayer.native_profileBegin("libijkplayer.so");
设置播放uri
设置uri,可以是rtmp,rtsp,http等,native ffplay代码中会根据该uri匹配不同的流媒体协议,具体参考ffplay。
mVideoView.setVideoURI(mVideoUri);
开始播放
mVideoView.start();
停止播放
if (mBackPressed || !mVideoView.isBackgroundPlayEnabled()) { mVideoView.stopPlayback(); mVideoView.release(true); mVideoView.stopBackgroundPlay(); } else { mVideoView.enterBackground();}IjkMediaPlayer.native_profileEnd();
总结
具体代码分析可以到git下载代码分析,如果需要体验,可以下载该demo(apk文件),具体流程分析可以参考ijkplayer阅读笔记。
- Ijkplayer Android介绍
- Ijkplayer Android介绍
- android-ijkplayer编译记录
- 编译ijkplayer-android
- IJKPlayer/FFMPEG 4 Android
- 试水Bilibili/ijkplayer-Android
- Android编译IJKPlayer
- android ijkplayer编译
- android Ijkplayer简单使用
- 编译ijkplayer-android源码
- 编译ijkplayer-android源码
- android studio集成ijkplayer
- android编译ijkplayer
- Android 简单的ijkplayer
- 编译Android版ijkplayer
- ijkplayer
- ijkplayer
- ijkplayer
- 并查集-HDU-5631-Rikka with Graph
- 对Android基于vitamio框架调用第三方播放器播放视频的初步认识
- 读取 其他Apk 中的资源文件
- Game of War聊天系统JID分析
- Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作
- Ijkplayer Android介绍
- python中BeautifulSoup模块的安装
- STL之容器基础
- iOS网络-AFNetworking检测网络状态
- LeetCode_5_LongestPalindromicSubstring(最长回文子序列)
- 基金知识整理--基金购买那些事(2)
- 《面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结》
- GPU发展史总结
- 残缺的棋盘