webview和H5来实现的android短视频(短剧)音视频播放依赖控件

短视频尤其短剧的爆火关于音视频方面的需要越来越多,相关的框架、三方依赖技术也越来越成熟,本篇文章也是基于当前短剧高需要的背景来撰写,相信不少开发者也研究开发了相关的类库,也对此写了很多文章,当然我也是其中一位,本篇文章是基于android来进行短视频的加载播放的。

本篇文章介绍的依赖库是基于android webview和H5来实现的,实现主要功能:

1、全屏/小屏视频的单个(或多个连续)播放;

2、播放下一个视频;

3、横屏-竖屏切换;

4、音量调节[0,1];

5、视频播放速度调节;

6、视频播放进度及左右滑动(或进度条)来调节播放进度;

7、片尾可控制加载广告等延时播放下一条视频的操作;

8、暂停可控制加载广告等操作;

9、添加除视频的其他模块布局内容。

功能中大部分都已经封装好,不需要使用者再度进行开发操作,开发者可以设置返回按钮、视频标题、进度条样式、播放/暂停图标、横屏/竖屏图标、下一个图标,开发者可以使用依赖控件的中的布局进行广告等延时操作。

以下是依赖控件的示例视频:

ds-CSDN直播

依赖使用操作:

https://download.csdn.net/download/qq_41294019/90167109

在上面链接下载依赖到本地,在androidstudio中app的build.gradle里面添加如下:

复制代码
api fileTree(dir: 'libs', include: ['ProScreenMediaPlayer.aar'])

新建Activity继承ProScreenMediaPlayerActivity并实现其中的方法,如下就可以简单的实现一个只有视频播放的模块了,视频可以是全屏(竖屏/横屏)的,小屏视频可以添加推荐等模块的布局内容。

finishMediaPlayer() 该方法用于点击返回按钮退出当前页面。

复制代码
class ProScreenShowActivity : ProScreenMediaPlayerActivity() {

    override fun initData() {

          var videoPath = (Environment.getExternalStorageDirectory().absoluteFile.absolutePath
                + File.separator + Environment.DIRECTORY_DCIM
                + File.separator + "Camera/")

        videoUrls = arrayListOf<String>("${videoPath}SVID_20241219_184142_2.mp4","${videoPath}SVID_20241219_184142_3.mp4","${videoPath}SVID_20241219_184142_4.mp4","${videoPath}SVID_20241219_184142_1.mp4")

        videoUrlFirst = videoUrls[3]

        videoTitles = arrayListOf<String>("示例设置标题一","示例设置标题二","示例设置标题三","示例设置标题四")

    }

    override fun finishMediaPlayer() {

    }


}

使用doLoadAdView()来获取FrameLayout布局加载广告等延时操作,结束后需要调用reqPlayNextVideo()方法播放下一个视频,使用doLoadOtherContView()来加载除视频等其他的内容,如推荐列表。

以上就是本篇介绍的基于android短视频(短剧)的音视频播放内容。

相关推荐
CYRUS_STUDIO2 小时前
FART 脱壳某大厂 App + CodeItem 修复 dex + 反编译还原源码
android·安全·逆向
武子康4 小时前
AI炼丹日志-28 - Audiblez 将你的电子书epub转换为音频mp3 做有声书
人工智能·爬虫·gpt·算法·机器学习·ai·音视频
Shujie_L5 小时前
【Android基础回顾】四:ServiceManager
android
Think Spatial 空间思维5 小时前
【实施指南】Android客户端HTTPS双向认证实施指南
android·网络协议·https·ssl
louisgeek6 小时前
Git 使用 SSH 连接
android
二流小码农6 小时前
鸿蒙开发:实现一个标题栏吸顶
android·ios·harmonyos
八月林城7 小时前
echarts在uniapp中使用安卓真机运行时无法显示的问题
android·uni-app·echarts
雨白7 小时前
搞懂 Fragment 的生命周期
android
casual_clover7 小时前
Android 之 kotlin语言学习笔记三(Kotlin-Java 互操作)
android·java·kotlin
梓仁沐白7 小时前
【Kotlin】数字&字符串&数组&集合
android·开发语言·kotlin