ijkPlayer的基本使用(一)

ijkplayer Android 端简要使用流程 ijkplayer Android 端的简单使用流程及接口说明 阅读详情

https://github.com/Bilibili/ijkplayer
项目github链接
很活跃的一个项目,评价也不错。

第一次使用,看到没有官方的文档,就简单写一下使用。
(没有自己编译的需求,所以不会涉及这方面)

  • build.gradle中加入依赖
/*ijkPlayer*/
    // required, enough for most devices.
    compile 'tv.danmaku.ijk.media:ijkplayer-java:0.7.8.1'
    compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.7.8.1'

    // Other ABIs: optional
    compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.7.8.1'
    compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.7.8.1'
    compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.7.8.1'
    compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.7.8.1'

    // ExoPlayer as IMediaPlayer: optional, experimental
    compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.7.8.1'

64位的支持最低到API21, 这里我手头的手机需要用到,所以就留下了。
开始想的是去掉**64,但是运行报这样的错误:

java.lang.UnsatisfiedLinkError: …….(一堆) couldn’t find “libijkffmpeg.so”
在issues里看到也有人遇到过:https://github.com/Bilibili/ijkplayer/issues/1489
感兴趣的可以看看。

布局:

    <tv.danmaku.ijk.media.widget.media.IjkVideoView
        android:id="@+id/ijkplayer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"/>

初始化:

        //init player
        IjkMediaPlayer.loadLibrariesOnce(null);
        IjkMediaPlayer.native_profileBegin("libijkplayer.so");
        if (mVideoPath != null) {
            mVideoView.setVideoPath(mVideoPath);//mVideoPath为视频地址
        } 
        mVideoView.start();

退出时要做销毁:

 @Override
    public void onBackPressed() {
        mBackPressed = true;
        super.onBackPressed();
    }

    @Override
    protected void onStop() {
        super.onStop();

        if (mBackPressed || !mVideoView.isBackgroundPlayEnabled()) {
            mVideoView.stopPlayback();
            mVideoView.release(true);
            mVideoView.stopBackgroundPlay();
        } else {
            mVideoView.enterBackground();
        }
        IjkMediaPlayer.native_profileEnd();
    }

写完一会发现飘红…… 我是直接把项目里的代码(tv.danmaku.ijk.media下)复制过来了,你也可以去下载别人编译好的jar 放到libs目录下
代码就不上传了,直接去看官方的Demo就好。建个传送门把,给迷路的孩子 https://github.com/Bilibili/ijkplayer/tree/master/android/ijkplayer/ijkplayer-example

暂时先写这么多,只是最基本的视频播放,可能视频比例还有问题,也没有控制在里边,等我完成后再继续写……

Android使用ijkplayer 1、Gradle方式 在build.gradle中引入下面的库 implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8' implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8' implementation 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8' implementation 'tv.danmaku. 阅读详情

相关推荐

IjkPlayer 源码阅读一 初始化

详见我的简书 http://www.jianshu.com/p/9b0675da8380 1 背景 公司的底层播放器实际上是ffplayer作为基础修改的,当然需要好好学习研究。 记录下来,作为以后备忘。(发觉人老了,就容易忘事)。ps 入坑需谨慎,很容易入门到放弃。 2 分析入口 分析的连接https://github.com/Bilibili/ijkplayer 版本

nothingl3的专栏 5031

Android 直播http、rtmp流,使用ijkplayer

ijkplayer github地址 效果 1.导入ijkplayer-java mode implementation project(path: ':ijkplayer-java') 2.自定义播放器 package com.ink.ijkplaytertest; import android.annotation.SuppressLint; import android.content.Context; import a...

ink_s的博客 2892

ijkplayer学习一:编译

由于项目需要使用ijkplayer,并且需要修改ijkplayer内部的一些解码方法,所以需要先学会编译so库。 一、准备工作 原因和选项 由于ijkplayer作者实在linux环境下进行编译的,对windows10用户说,就需要安装一个linux系统。经过一番对比之后这里选择在虚拟机VMware Workstation安装Ubuntu系统。 首先VMware Workstation虚拟机和Ubuntu系统都是使用较广的软件和系统,网络上教程较多,问题也可以轻松找到答案,对于我这种新手小白来说比较友好,并

casemate的博客 752

Android 超好用的播放器——ijkplayer

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?

2301_79055239的博客 2169

ijkplayer知识点(6)- ijkplayer之setDataSource()方法介绍(ijkplayer播放器简介一)

今天写一篇介绍ijkplayer播放器的文章,同时也作为自己学习ijkplayer的记录和总结。言归正传,ijkplayer可以说是当今移动端播放器界的新宠,简单的接口设计,跨平台支持(同时支持IOS和Android),而且还开源,支持二次开发,基于这些优点,ijkplayer深受广大移动端音视频开发工作者的喜爱。 setDataSource()是ijkplayer设置播放文件的接口,支持本地文...

liuzhen007的专栏 2328

KEPServerEX6教程:IoT Gateway与MQTT Client实现工业数据双向通信

工业物联网的核心挑战在于异构设备协议与云端平台之间的数据互通。Modbus、S7、OPC UA等现场协议纷繁复杂,而上层应用普遍偏好MQTT、REST等轻量接口,此时需要一个可靠的协议转换层。MQTT作为低带宽、高可靠的发布/订阅消息协议,天然适合工业数据采集与远程控制场景。KEPServerEX6作为工业网关软件,内置IoT Gateway与MQTT Client组件,分别承担数据上行发布与指令下行订阅的职责,形成完整的双向闭环。通过配置Modbus TCP设备驱动、创建Tag、设置MQTT Broker

weixin_33787529的博客 386

【错误记录】记录处理 ijkplayer 依赖问题 ( jcenter 仓库问题 | 查找并配置 ijkplayer 源 | 手动在本地配置 ijkplayer 依赖库 )

一、jcenter 仓库问题 1、报错信息 2、解决方案 二、查找并配置 ijkplayer 源 三、手动在本地配置 ijkplayer 依赖库

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 3705

STM32F103跑LVGL,用DMA加速刷屏,800*480大屏也能丝滑

本文详细介绍了如何在STM32F103芯片上通过DMA加速和内存优化,实现800*480大屏的LVGL流畅运行。通过FSMC+DMA硬件架构优化、双缓冲机制和LVGL参数调优,显著提升了界面刷新率和响应速度,适用于嵌入式GUI开发中的高性能需求场景。

weixin_30357231的博客 376

ijkplayer播放器剖析(一)让ijkplayer播起来

一、引言: ijkplayer是一款对FFmpeg封装非常好的第三方开源播放器,遗憾的是,ijkplayer2.0似乎不开源,并且1.0版本更新也基本停止了,很多公司都会采用ijkplayer作为其播放应用的内核,这款集合软硬件编解码功能的播放器确实备受青睐,从这篇文章开始,将对ijkplayer播放器做一个剖析,希望对大家理解ijkplayer有一定的帮助,当然,不对的地方还望指正。 二、环境搭建及编译: 1.环境搭建: ijkplayer的GitHub地址如下: https://github.com/

achina2011jy的博客 2484

即梦 AI 全功能零基础详细教程(纯技术版)

即梦 AI 是一款多模态 AI 生成工具,主打文本生成视频、图片生成视频、角色一致性生成、音画同步等核心功能,依托自研 AI 视觉模型,实现从文本 / 图片 / 音频素材输入,到高清视频、图像内容输出的全流程 AI 创作,支持短视频、短剧、创意素材等多场景创作,具备操作门槛低、生成效率高、画面可控性强的技术特点。@为工具内置引用指令,作用是锁定指定素材 / 角色,强制 AI 按照该素材的核心特征生成内容,无额外付费、解锁要求,免费使用。剧本拆分:将短剧拆分为单镜头(15 秒内 / 个)

2501_92061023的博客 5809

Python对象的基本组成和内存示意图及引用的本质

在Python中,变量也称为:对象的引用(reference)。变量存储的就是对象的地址。变量不需要显式声明类型。根据变量引用的对象,Python解释器自动确定数据类型。一个内存块,拥有特定的值,支持特定类型的相关操作。变量位于:栈内存(压栈出栈等细节,后续再介绍)。⚠️Python是动态类型语言。变量通过地址引用了“对象”。

Calor13的博客 557

ijkplayer(一)

ijkplayer的源码路径在https://github.com/Bilibili/ijkplayer上面,它是对ffplay二次开发的一个播放器,支持多个平台,下面以Android平台进行介绍。编译流程如下: git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android cd ijkplayer-android git checkout -B latest k0.8.8 ./init-android.sh cd and

jaychouavril的专栏 366

EMB电子机械制动执行器五大核心部件选型解析

本文介绍了EMB电子机械制动执行器五大核心部件的选型方案:采用无刷直流电机作为驱动源,兼具高扭矩和快速响应特性;选用滚珠丝杠传动机构,实现高效旋转-直线转换;行星齿轮减速器满足紧凑空间内的增扭需求;QT450-QT550材质的钳体确保刚度要求;应变片式压力传感器实现夹紧力精确测量。各部件选型综合考虑了性能、可靠性和空间限制,为EMB系统设计提供了完整解决方案。

m0_59012156的博客 1733

使用ijkplayer(一)

序言 目前自己的想做的一个视频类APP目前首页的界面搭好了,视频类嘛,坑定要播放视频的,百度了下轮子,ijkplayer和Vitamio 这两个很受推崇,两者都是在开源项目FFmpeg基础上开发的,ijkplayer是哔哩哔哩开源的,国产为先,就先依赖着用着先 准备 github地址 输...

chongtu7764的博客 170

宇树G1机器人遥控器音频控制实战

本文介绍了宇树G1人形机器人遥控器控制音频播放的核心实现方案。通过DDS消息订阅获取遥控器输入,采用非阻塞的subprocess调用aplay命令控制外接音响设备。系统支持播放、暂停和重播功能,采用50ms轮询间隔实现实时响应。关键点包括遥控器初始化、音频进程管理(Popen)、退出机制。文章还提供了设备配置指南、遥控器按键说明和常见问题解决方案。该方案从复杂音频播放器中提炼出核心控制逻辑,可作为机器人交互开发的参考模板。

m0_47999117的博客 542

非技术面试题精选大全

回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业喜欢有礼貌的求职者。

吃面爱放香菜的博客 434

【ijkplayer】整体结构总结(一)

【ijkplayer】整体结构总结

微信公众号: 后端码匠 1852

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【ijkplayer】编译 Android 版本的 ijkplayer ① ( Ubuntu 安装 Git 软件 | 下载 ijkplayer 代码 )

一、安装 Git 软件、 二、下载 ijkplayer 代码

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2079

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ijkplayer集成使用(一)

本篇文章是基于k0.7.7.1进行集成的,如在使用上有出入需要对比版本号 Android/iOS video player based on FFmpeg n3.2, with MediaCodec, VideoToolbox support. 是基于FFMpeg n3.2进行集成的。 ijkplayer是bilibili的一个开源的视频播放器,本篇文章主要讲解如何用ijkpla

liuwang521的博客 783

【发烂渣】iOS - ijkplayer集成【一】

它的全称为“Fast Forward Mpeg”,正如它的名称一样,快速、功能强大。是一个多媒体视频处理的解决方案,集转换、播放、录制等功能于一身的工具。FFmpeg虽然是在Linux下进行开发的,但她是基于C语言进行开发的,所以可以同时在Windows、MacOS等系统下进行编译运行开发。FFMpeg也因其完美,被许多大厂集成过、或者仍然使用着。如VLC、MPlayer,还有国内的暴风影音、QQ影音也都在其列需要注意的是,该项目是基于LGPL/GPL的开源协议。

irainsa的博客 532

ijkplayer编译脚本解析(一)

源码下载编译,里编译脚本除去源码下载部分,执行部分如下 ./init-android.sh ​ cd android/contrib ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all ​ cd .. ./compile-ijk.sh all ​ 这里想知道init-android.sh、compile-ffmpeg.sh、compile-ijk.sh都干了啥。 1. init-android.sh 主要做了3件事 1. clone f.

wangyubin2010n的博客 920

开源播放器 ijkplayer (一) :使用Ijkplayer播放直播视频

1、ijkplayer 编码 IjkPlayer支持硬解码和软解码。 软解码时不会旋转视频角度这时需要你通过onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED去获取角度,自己旋转画面。或者开启硬解硬解码,不过硬解码容易造成黑屏无声(硬件兼容问题),下面是设置硬解码相关的代码 mediaPlayer.setOption(Ijk...

weixin_34050005的博客 984
上一篇: "Can't connect to Mysql server on .....(10038)"的解决办法
下一篇: SwipeRefreshLayout的setColorSchemeColors没效果的原因
Z漫步
博客等级 码龄12年 42粉丝 80原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值