网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 移动端开发 > Android开发 >

FFmpeg开发笔记(九十九)基于Kotlin的国产开源播

时间:2026-01-17 12:15

人气:

作者:admin

标签:

导读:在Android平台上,基于FFmpeg的国产播放器开源框架也有很多了,前有哔哩哔哩的ijkplayer,后有小红书的RedPlayer,参见之前的文章《使用国产的ijkplayer播放器观看网络视频》和《使用国产的...
在Android平台上,基于FFmpeg的国产播放器开源框架也有很多了,前有哔哩哔哩的ijkplayer,后有小红书的RedPlayer,参见之前的文章《使用国产的ijkplayer播放器观看网络视频》和《使用国产的RedPlayer播放器观看网络视频》。

除此以外,DKVideoPlayer也是一款优秀的国产Android视频播放器,它基于Kotlin编写,不但集成了Android原生的MediaPlayer,还集成了Jetpack的ExoPlayer,甚至集成了国产的ijkplayer。DKVideoPlayer既支持播放本地视频,也支持播放网络视频,甚至支持播放直播链接,可谓功能强大。
DKVideoPlayer的源码托管地址为https://github.com/Doikki/DKVideoPlayer(星星数5.3k),国内的镜像地址为https://gitcode.com/gh_mirrors/dk/DKVideoPlayer,最新版本是2022年7月发布的v3.3.7,可见该框架的源码更新十分及时,该版本的源码下载地址为https://github.com/Doikki/DKVideoPlayer/archive/refs/tags/3.3.7.tar.gz。
DKVideoPlayer提供了两种集成方式,引用在线库、直接导入源码,分别说明如下:

一、引用DKVideoPlayer在线库

Android工程引用DKVideoPlayer在线库时,需要修改以下两个配置:
1、打开模块级别的build.gradle,给dependencies节点补充下面几行配置,表示引入3.3.7版本的DKVideoPlayer库:

# 必选,内部默认使用系统mediaplayer进行解码
implementation 'xyz.doikki.android.dkplayer:dkplayer-java:3.3.7'
# 可选,包含StandardVideoController的实现
implementation 'xyz.doikki.android.dkplayer:dkplayer-ui:3.3.7'
# 可选,使用exoplayer进行解码
implementation 'xyz.doikki.android.dkplayer:player-exo:3.3.7'
# 可选,使用ijkplayer进行解码
implementation 'xyz.doikki.android.dkplayer:player-ijk:3.3.7'
# 可选,如需要缓存或者抖音预加载功能请引入此库
implementation 'xyz.doikki.android.dkplayer:videocache:3.3.7'

2、打开App模块的src/main/AndroidManifest.xml,给manifest节点补充下面几行权限配置,表示声明悬浮窗、存储空间和网络等权限:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

二、直接导入DKVideoPlayer源码

DKVideoPlayer的源码已经适配Android Studio Dolphin(小海豚版本),仅需在项目级别的build.gradle补充国内仓库即可。也就是在repositories节点内部补充以下配置:

// 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件
maven { url = uri("https://maven.aliyun.com/repository/jcenter") }
maven { url = uri("https://maven.aliyun.com/repository/google")}
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin")}
maven { url = uri("https://maven.aliyun.com/repository/public")}
// 以下添加清华大学的仓库地址
maven { url = uri("https://mirrors.tuna.tsinghua.edu.cn/repository/maven-central/") }

增加以上配置的目的是引入国内的仓库地址,以便加快相关依赖包的下载速度。

等待DKVideoPlayer工程编译通过,把主入口的dkplayer-sample模块安装到手机上,启动之后的App界面如下图所示:

dkplayer1

点击【点播】按钮,打开网络视频的播放界面如下图所示:

dkplayer2

或者点击【直播】按钮,打开直播链接的播放界面如下图所示:

dkplayer3

可见DKVideoPlayer支持调整播放窗口大小、调整播放速度,以及旋转、截图、裁剪等功能,可谓将常见的播放操作一网打尽。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信