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短视频(短剧)的音视频播放内容。

相关推荐
未来之窗软件服务17 小时前
服务器运维(十五)自建WEB服务C#PHP——东方仙盟炼气期
android·服务器运维·东方仙盟·东方仙盟sdk·自建web服务
Zender Han1 天前
Flutter 新版 Google Sign-In 插件完整解析(含示例讲解)
android·flutter·ios·web
来来走走1 天前
Android开发(Kotlin) LiveData的基本了解
android·开发语言·kotlin
柳鲲鹏1 天前
OpenCV:文件视频防抖,python版
python·opencv·音视频
柳鲲鹏1 天前
OpenCV:实时视频防抖,python版(改进连续帧处理)
音视频
。puppy1 天前
MySQL 远程登录实验:通过 IP 地址跨机器连接实战指南
android·adb
dongdeaiziji1 天前
深入理解 Kotlin 中的构造方法
android·kotlin
风起云涌~1 天前
【Android】浅谈Navigation
android
游戏开发爱好者81 天前
iOS 商店上架全流程解析 从工程准备到审核通过的系统化实践指南
android·macos·ios·小程序·uni-app·cocoa·iphone
QuantumLeap丶1 天前
《Flutter全栈开发实战指南:从零到高级》- 18 -自定义绘制与画布
android·flutter·ios