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.IjkVideoViewandroid: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介绍相关推荐

  1. Android IjkPlayer API介绍

    ##.简介 IjkPlayer是Bilibili推出的一个开源播放器库,底层是基于ffmpeg来实现的,支持各种常见的拉流协议,支持软解码和硬解码,支持变速播放.很多视频平台都在使用. 官方的gith ...

  2. 【ijkplayer】介绍

    [ijkplayer]介绍 0x1 系统架构 ijkplayer是由b站开源的播放器项目,底层基于ffmpeg, 支持Android和iOS.下面我们来简单介绍一下Android上的实现. Andro ...

  3. Android介绍(未整理完...)

    Android介绍 ​ Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大 ...

  4. Android快速入门(一):Android介绍

    Android介绍 安卓(Android)是一种基于Linux的自由及开放源代码的操作系统.主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.Android操作系统 ...

  5. ijkplayer android 内存,IjkPlayer

    ijkplayer是b站开源的超级好用的视频播放器,小编这里为大家送上.相信大家都早有耳闻.ijkplayer Android和ios都可用,还支持多种视频的硬解码.人生苦短,不如快点试一试.需要的朋 ...

  6. android 集成ijkplayer,android studio集成ijkplayer的示例代码

    介绍 ijkplayer是一款非常火的开源视频播放器,android和IOS通用.关于怎么编译怎么导入android Studio中自己的项目,其中坑很多,本篇记录下自己的操作记录.ijkplayer ...

  7. day26_安卓基础之之Android介绍与入门

    1.移动通讯技术标准的介绍 一流的公司做 标准---- 华为申请 5G 技术专利 二流的公司做品牌------ 小米 , lenovo, 魅族, 锤子, ... Sony, samsung 三流的公司 ...

  8. ijkplayer Android 端简要使用流程

    有三种方式使用 ijkplayer : 使用 ijkplayer example 封装好的 VideoActivity 使用 ijkplayer example 封装好的 UI 组件 IjkVideo ...

  9. android studio ijkplayer,Android 编译 ijkplayer

    Bilibili 引言:主要是因为刚开始接触的时候整个人都是懵逼呵呵的. 时间:2018年03月27日 作者:JustDo23 基于:Mac OS 01. 简介 Android/iOS video p ...

最新文章

  1. 计算机专业教育,科学网—中国大学计算机教育路在何方? - 吴军的博文
  2. 史上最详细Docker安装Elasticsearch、ik分词器、可视化工具,每一步都带有步骤图!!!
  3. Linux-查看操作系统信息
  4. macOS如何使用命令启动服务/停止服务/查看服务
  5. 两种解决IE6不支持固定定位的方法
  6. 模拟网页行为之实践四
  7. 关于PHP微信h5棋牌程序开发数据库的备份
  8. Windows快捷命令
  9. HBuilder X如何运行uni-app 项目
  10. 微信小程序之view布局
  11. 构造非支配解集(Python)
  12. 计算机软件需要加书名号吗,软件著作权名称需要加书名号吗-举例说明一个软件的名称放在句子里应不应该用书名号,为什么?...
  13. 微信小程序8-云函数
  14. Hexagon GDB Debugger介绍(53)
  15. Vmware搭建软路由教程(Openwrt)
  16. Dropout和BN(层归一化)详解
  17. Ansible mysql_db模块
  18. 25-陈庆祥-词法分析
  19. scroll-view 下滑列表加载的使用
  20. 计算机看服务代码,帮我查 下戴尔笔记本服务代码 25822644085 服务编号 BV24VP1 (电脑出厂日期,配置)...

热门文章

  1. 基于Layui的登录注册页面模板
  2. 什么是Windows登录应用程序(winlogon.exe),为什么它在我的PC上运行?
  3. ACDC隔离电源设计手机适配器智能家居供电5V1A设计方案
  4. Android入门——WebView使用及Java和JavaScript交互小结
  5. 学习能力篇:为什么你一定要知道学贵有法和学无定法?
  6. 在eclipse中进行Struts2项目的配置 yin
  7. 无U盘光驱如何本地安装linux,如何在没有光驱的电脑上利用U盘安装Linux(ubuntu).pdf...
  8. image-compressors前端图片压缩工具
  9. 【CJOJ P2226】[省常中2011S4] 圣诞节
  10. 每日一问 --欧拉公式是什么?