登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
FFmpeg开发笔记(七十六)使用国产SDK的播放器wlmedia渲 ...
FFmpeg开发笔记(七十六)使用国产SDK的播放器wlmedia渲染视频
[ 复制链接 ]
师佳思
6 小时前
《FFmpeg开发实战:从零基础到短视频上线》一书的“第 12 章 FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上播放视频,基于FFmpeg的国产播放器开源框架也有很多了,前有哔哩哔哩的ijkplayer,后有小红书的RedPlayer,参见之前的文章《使用国产的ijkplayer播放器观看网络视频》和《使用国产的RedPlayer播放器观看网络视频》。 除此以外,wlmedia也是一款优秀的国产音视频播放SDK,该框架既支持Android系统,也支持鸿蒙系统,集成方便、使用简单,可谓异军突起。wlmedia基于FFmpeg、OpenSSL、SoundTouch、dav1d等第三方库,支持file、http、https、udp、rtmp、rtp、rtsp、byte[]等常见播放协议,也支持H.264、H.265、AV1等视频编码格式。
wlmedia的源码托管地址为https://github.com/ywl5320/wlmedia,最新版本是2025年4月发布的wlmedia 4.2.0,可见该框架的源码更新十分及时。并且wlmedia的源码采用Java+XML编写,对于初学者而言非常友好,使用Android Studio Dolphin(小海豚版本)无需任何改动即可直接导入wlmedia的demo工程。
在自己的App工程中集成wlmedia也很简单,只要执行下列几个步骤就行。
一、导入wlmedia库
如果已经事先导入wlmedia的库工程,则只需在build.gradle中添加下面一行即可引入wlmedia:
implementation project(path: ':wlmedia')
复制代码
如果不用库工程,也只要在build.gradle中添加下面一行即可引入wlmedia:
implementation 'com.github.ywl5320:wlmedia:4.2.0'
复制代码
二、引入wlmedia控件
wlmedia提供了两种控件:WlSurfaceView和WlTextureView,其中WlSurfaceView用于一般的播放场景,布局代码示例如下:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="260dp">
<-- WlSurfaceView 一般播放使用 -->
<com.ywl5320.wlmedia.widget.WlSurfaceView
android:id="@+id/wlsurfaceview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<-- WlSurfaceView 加载中的动画 -->
<com.ywl5320.wlmedia.widget.WlCircleLoadView
android:id="@+id/wlcircleview"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true" />
<-- WlSurfaceView 播放控制条 -->
<com.ywl5320.wlmedia.widget.WlSeekBar
android:id="@+id/wlseekbar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true" />
</RelativeLayout>
复制代码
而WlTextureView用于需要变更展示效果的场景,比如透明、移动、旋转等等,布局代码示例如下:
[/code][size=6]三、引入wlmedia播放器[/size]
wlmedia提供的播放器叫做WlPlayer,它的用法很简单,只要以下几行代码就够了:
[code]// 创建播放器WlPlayer的实例
WlPlayer wlPlayer = new WlPlayer();
// 设置使用OpenGL渲染的最大视频宽高
wlPlayer.setRenderDefaultSize(3840, 2160);
// 是否自动播放
wlPlayer.setAutoPlay(true);
// 设置音量
wlPlayer.setVolume(100);
WlSurfaceView wlSurfaceView = findViewById(R.id.wlsurfaceview);
// 让控件wlSurfaceView关联播放器WlPlayer
wlSurfaceView.setWlPlayer(wlPlayer);
复制代码
按照上述几个步骤给App工程集成wlmedia后,编译运行wlmedia的demo工程,打开测试App如下图所示,可见wlmedia提供了多种演示功能。
点击第一个“基础播放”按钮,打开普通播放页面如下图所示,可见wlmedia除了常规的控制操作之外,还提供了缩放、倍速、截图等其他功能。
总结一下,wlmedia的确使用简单,播放功能也丰富,是个不错的国产播放器SDK。
更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
师佳思
6 小时前
关注
0
粉丝关注
11
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9986
猷咎
9990
凶契帽
9990
4
里豳朝
9990
5
处匈跑
9990
6
黎瑞芝
9990
7
恐肩
9988
8
杭环
9988
9
鲫疹
9988
10
剩鹄逅
9988
查看更多