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. macos安装homebrew
  2. A Self-Attention Setentence Embedding 阅读笔记
  3. Electron怎样进行渲染进程调试和使用浏览器和VSCode进行调试
  4. 基于GIS的视频管理指挥平台
  5. 利用JNative实现Java调用动态库
  6. java svg 读取dom结构_SVG基础以及使用Javascript DOM操作SVG
  7. UOJ59 WC2013 小Q运动季
  8. 日志log4cxx 封装、实例讲解、配置文件log4cxx.properties
  9. Python——高阶函数
  10. 重现Oracle数据库Hang住的情况
  11. Lucene Boost 精度表
  12. js四舍五入保留两位小数(可完全保留两位)
  13. IAR环境配置教程(CC2530版)
  14. linux内核不识别分区,ubuntu14.04无法识别树莓派SD卡问题
  15. iPhone十年越狱史
  16. spring security 结合cas单点登录退出后的返回地址
  17. 使用esp32 作为蓝牙鼠标和键盘以及坑
  18. 数据保护新愿景:欧盟GDPR十个误解与争议
  19. 生意大展示:49种简易创业方法大比拼
  20. mysql 1025_ERROR 1025 (HY000): Error on rename of to

热门文章

  1. springboot基于Android的校园综合服务App平台的设计毕业设计源码181040
  2. 网云穿-免费域名注册
  3. Mac 打开JD-GUI报错:ERROR launching ‘JD-GUI‘
  4. 《剑侠情缘V5.0》网络单机版烽火诸侯私服搭建
  5. Xbox360游戏刻录傻瓜教程nbsp;ImgBurn…
  6. 加减乘除计算机英语,英语口语:加减乘除的英语怎么说?
  7. android网址链接,Android编程实现提取网址链接的方法
  8. 模拟赛DAY1 T2腐草为萤
  9. DIEN——biji
  10. Facebook 广告效果越来越差,怎么办?