Ijkplayer Android介绍

Ijkplayer Android目录结构

Ijkplayer Android可以将该工程导入android studio进行编译,当它下载好需要的资源文件(例如sdk build tool,gradle等)就可以进行编译了,该工程的目录结构如下图所示: 
ijkplayer目录接口

链接库:

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-java目录接口

ijkplayer 实例

ijkplayer-sample是源代码中的实例,它的目录结构如下所示: 
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>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Java代码调用

如果需要进行多媒体播放,其实和Android提供的多媒体播放api差不多,具体流程如下:

初始化

加载native底层库

IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
 
 
  • 1
  • 2

设置播放uri

设置uri,可以是rtmp,rtsp,http等,native ffplay代码中会根据该uri匹配不同的流媒体协议,具体参考ffplay。

mVideoView.setVideoURI(mVideoUri);
 
 
  • 1

开始播放

mVideoView.start();
 
 
  • 1

停止播放

if (mBackPressed || !mVideoView.isBackgroundPlayEnabled()) {
    mVideoView.stopPlayback();
    mVideoView.release(true);
    mVideoView.stopBackgroundPlay();
  } else {
      mVideoView.enterBackground();
}
IjkMediaPlayer.native_profileEnd();
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

总结

具体代码分析可以到git下载代码分析,如果需要体验,可以下载该demo(apk文件),具体流程分析可以参考ijkplayer阅读笔记

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值