12.ijkplayer的使用过程:

11.ijkpalyer引言:

====

12.ijkplayer的使用过程:
>>举例mac系统编译.so文件:
  ijkplayer默认是不支持https的, 如果需要支持https,需自己编译ijkplayer的源码;
  ijkplayer可以编译支持avi,flv,mp3,;
  ijkplayer可以编译支持armv7a,armv5,arm64,x86,x86_64的cpu架构;
>>ijkplayer的编译.so文件:
  win系统、mac系统、Ubuntu 系统上编译.so文件;
  Step 1:安装Git与yasm:
    sudo apt-get install git
    sudo apt-get install yasm
  Step 2:下载,配置SDK与NDK
sdk就不说了,你开发安卓肯定会有的,NDK一般是不默认下载的, 
这里也不建议你使用SDK Manager下载的NDK,之前试过有些许问题, 
建议去官网下载:https://developer.android.google.cn/ndk/downloads/index.html 
NDK的最小版本支持是10e,目前不支持NDK 15!
接着是配置环境变量:
MAC:
打开终端,cd到根目录(cd ~),然后新建一个.bash_profile的文件: 
进行如下配置 等等........ 
  Step.......
  
>> ijkplayer的.so文件使用:
  最简单的使用方法,就是把这个项目当成一个library导入到项目中, 
就是build.gradle里多一个compile project(‘:ijkplayer’), 
然后你就可以用了,记得把你之前写的:
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.4'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
这些依赖删掉,不然还是会报不支持HTTPS的! 一般到这里引用到项目里就够了!  
  
  >删减无关东西,生成aar依赖库:
  Step 3:把aar文件添加到项目中
这个也很简单,直接丢到app的libs文件夹下,然后build.gradle下添加依赖,(笔者直接把ijkplayer-java-release.aar改名成 
ijkplayer.aar)
implementation(name: 'ijkplayer', ext: 'aar')
>>模块化,模块使用aar找不到问题解决?

11.ijkpalyer引言:

引言:
公司现在的电台项目是我第二个接触音频播放项目,Android音视频播放很多还是使用的MediaPlayer(大中厂除外),但是如果你用过 
MediaPlayer的话,很多开发者都会吐槽有多坑,连谷歌官方都推荐使用ExoPlayer…遇到过最坑的就是播放在线音视频的时候,网络不好会一直加载,然后点多了还容易ANR…以前就一直想把音频播放这个换掉,通过自行搜索和问别人,又下面几个方案(小作坊不可能另外去写个编解码播放库):
>>MediaPlayer:使用的MediaPlayer(大中厂除外),但是如果你用过MediaPlayer的话,很多开发者都会吐槽有多坑,连谷歌官方都推荐 
使用ExoPlayer…遇到过最坑的就是播放在线音视频的时候,网络不好会一直加载,然后点多了还容易ANR…以前就一直想把音频播放这个换掉;
>>ExoPlayer:Demo复杂得一匹…而且网上的资料也不是很多,pass;
>>Vitamio:自用免费,商用收费,直接就pass了;
>>自己编译ffmpeg:一听就很复杂的,同样Pass;
>>ijkplayer:大B站开源的基于FFmpeg的轻量级Android/iOS视频播放器,网上资料挺多的,而且官方也有维护,虽然还有1600多个issues,和mediaplayer差不多的接口,学习成本也不高,可以加进来试试水!
最后就决定使用ijkplayer来替换原先的MediaPlayer了!

ijkplayer总结的更多相关文章

  1. Android 关于ijkplayer

    基于ijkplayer封装支持简单界面UI定制的视频播放器 可以解析ts格式的so库 怎样编译出可以解析ts等格式的so库?就是编译的时候需要在哪一步修改配置? 一些电视台的m3u8 CCTV1综合, ...

  2. 【Android】 修复ijkPlayer进行m3u8 hls流播放时seek进度条拖动不准确的问题

    项目中使用的播放器是ijkPlayer,发现播放切片特点的hls流(m3u8格式的视频)拖动seekBar的时候会莫名的跳转或者seek不到准确的位置,发现网友也遇到了同样的问题,ijk的开发者也说明 ...

  3. ijkplayer demo效果图

    如下截图所示,用https://github.com/Bilibili/ijkplayer.git源码编译生成的ijkplayer app效果图,是这样的吗?有没有朋友指点下?

  4. ijkplayer导入AS时,出现more than one library with package name错误

    最近刚接触ijkplayer ,在ubuntu 中将ijkplayer编译后,导入Windows中AS时,出现以下错误,目前初步定为为包重名,但具体原因未定为到,麻烦有遇到这方面的朋友,给指导下,

  5. iOS----集成ijkplayer视频直播

    ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijk ...

  6. B站开源ijkplayer 等多个项目

    弹幕视频网 Bilibili(B 站)近日在 GitHub 网站上建立了开源工作组(BOSTF),用以分享与维护自己的开源项目,其中包括 DanmakuFlameMaster(燃烧吧!烈焰弹幕使)与 ...

  7. 1.iOS直播ijkplayer(第一周)

    准备工作: 1.使用的B站的开源框架ijkplayer ,下载地址: https://github.com/Bilibili/ijkplayer ijkplayer 是一个基于 ffplay 的轻量级 ...

  8. iOS集成ijkplayer视频直播框架,遇到的bug和坑...

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 32.0px "Helvetica Neue"; color: #555555 } p. ...

  9. 集成IJKplayer视频直播框架

    ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijk ...

  10. iOS中集成ijkplayer视频直播框架

    ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijk ...

随机推荐

  1. PAT 1112 Stucked Keyboard

    1112 Stucked Keyboard (20 分)   On a broken keyboard, some of the keys are always stucked. So when yo ...

  2. 一个简单的CD/CI流程思考,续

    经过各种优化,最终一个非常简单的pipeline出现了,图中没有包含单元测试及静态代码检查的部分,有时间补上.至少实现了提交即构建,也能迅速反馈给开发者. 但是最大的问题是,研发团队还是习惯依赖于部署 ...

  3. .Net Core2.1 部署到IIS

    1. 发布网站,和.net framework MVC一样 2.安装WindowsHosting和.Net Core SDK 下载地址:https://www.microsoft.com/net/do ...

  4. C++获取数组的长度

    C++获取数组的长度 #include<iostream> using namespace std; template<class T> int length(T& a ...

  5. linux下配置mysql 与错误解决

    1.下载mysql wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-el7-x86_64.tar.gz 2.检查linux是否 ...

  6. react-router解决锚点跳转问题

    添加一个onClick方法.onClick方法传入一个锚点的id,然后用下面的函数来找到锚点并跳转到锚点. scrollToAnchor = (anchorName) => { if (anch ...

  7. mysql数据库基础语句训练题

    ; -- ---------------------------- -- Table structure for course -- ---------------------------- DROP ...

  8. dede织梦判断导航栏是否有子栏目

    以下代码判断导航栏是否含有子栏目 {dede:field name=typeid runphp="yes"} global $dsql; $sql , "; $row = ...

  9. overload(重载)和override(覆盖)的注意点

    使用overload(重载)的几个注意点: 在使用重载时只能通过不同的参数形式.例如:不同的参数类型,不同的参数个数,不同的参数顺序,当然,同一个方法内的几个参数类型必须不一样.例如可以是fun(in ...

  10. 第一节课:java介绍以及java开发环境的安装

    互联网时代 什么是软件 什么是硬件 什么是操作系统 java是什么? 计算机高级程序语言 java能做什么? 开发软件(网站.app.游戏.应用系统.嵌入式) java对应的职位链(需求->产品 ...