sunny-video视频倍速播放器
组件名:sunny-video
平台差异说明
- 目前已应用到APP(安卓、iOS)、微信(小程序、H5)
 
- 其它平台未测试
 
安装方式
- APP端需要配置
manifest.json>App模块配置勾选VideoPlay(视频播放) 
App端:3.6.14 以及 手机系统 iOS16 以上video全屏 需要配置应用支持横屏: 在manifest.json 文件内 app-plus 节点下新增 screenOrientation 配置,设置值为["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"]。如下:
"app-plus" : {
	"screenOrientation" : [
	     "portrait-primary",
	     "portrait-secondary",
	     "landscape-primary",
	     "landscape-secondary"
	]
}
 
代码演示
<template>
	<view>
		<sunny-video 
			ref="sunnyVideo" 
			title="测试视频" 
			src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4" 
			poster="https://ask.dcloud.net.cn/static/images/side/ask_right_unicloud_class.jpg"
			@timeupdate="timeupdate" 
		/>
	</view>
</template>
<script>
	export default {
		data() {
			return {
			}
		},
		methods: {
			timeupdate(e){
			}
		}
	}
</script>
<style>
</style>
Props
| 属性名 | 
类型 | 
默认值 | 
可选值 | 
说明 | 
| src | 
String | 
'' | 
- | 
视频播放地址 | 
loop 1.1.3 | 
Boolean | 
false | 
true | 
是否循环播放 | 
muted 1.1.3 | 
Boolean | 
false | 
true | 
是否静音播放 | 
| autoplay | 
Boolean | 
false | 
true | 
是否自动播放 | 
| title | 
String | 
'' | 
- | 
视频标题 | 
| poster | 
String | 
'' | 
- | 
视频封面 | 
| videoHeight | 
String, Number | 
230px | 
- | 
视频高度 | 
videoWidth 1.1.3 | 
String, Number | 
750rpx | 
- | 
视频宽度 | 
| playImgHeight | 
String, Number | 
70rpx | 
- | 
播放图标按钮宽高 | 
| playImg | 
String | 
base64 | 
- | 
播放按钮图标 | 
| showMuteBtn | 
Boolean | 
false | 
true | 
是否显示静音按钮 | 
| isExitFullScreen | 
Boolean | 
true | 
false | 
播放完毕是否退出全屏 | 
tipText 1.1.0 | 
String | 
'试看已结束,本片是会员专享内容' | 
- | 
试看提示的文字 | 
btnText 1.1.0 | 
String | 
'成为会员免费观看' | 
- | 
试看按钮的文字 | 
trialTime 1.1.0 | 
Number | 
0 | 
- | 
视频试看时间(秒), 不需要试看功能则默认为0 | 
speedBoxWidth 1.1.3 | 
String, Number | 
160rpx | 
- | 
倍速盒子宽度 | 
seekTime 1.2.0 | 
Number | 
0 | 
- | 
跳转到历史观看位置(秒), 不需要则默认为0,注:H5为被动 | 
事件 Events
| 事件名 | 
说明 | 
返回值 | 
| play | 
监听开始播放 | 
- | 
| pause | 
监听视频暂停 | 
- | 
| playError | 
视频播放出错时触发 | 
- | 
| videoEnded | 
视频播放结束触发 | 
- | 
| timeupdate | 
播放进度变化时触发 | 
event.detail={currentTime, duration}。触发频率 250ms 一次 | 
fullscreenchange 1.1.3 | 
当视频进入和退出全屏时触发 | 
event={fullScreen, direction},direction取为vertical或horizontal | 
handleBtn 1.1.0 | 
点击试看按钮时触发 | 
- | 
trialEnd 1.1.0 | 
试看结束时触发 | 
- | 
changeSeek 1.1.7 | 
视频跳转到指定位置时触发 | 
event= 播放位置单位 s | 
方法 Methods
| 名称 | 
参数 | 
说明 | 
差异 | 
| changePlay | 
 | 
开始播放视频 | 
- | 
changePause 1.1.3 | 
 | 
暂停播放视频 | 
- | 
showTrialEnd 1.1.0 | 
 | 
控制试看模块显示 | 
- | 
closeTrialEnd 1.1.0 | 
 | 
控制试看模块隐藏 | 
- | 
seek 1.1.1 | 
position | 
跳转到指定位置,单位 s | 
- | 
requestFullScreen 1.1.8 | 
 | 
进入全屏 | 
- | 
exitFullScreen 1.1.8 | 
 | 
退出全屏 | 
- | 
showStatusBar 1.1.8 | 
 | 
显示状态栏,仅在iOS全屏下有效 | 
微信小程序、百度小程序、QQ小程序 | 
hideStatusBar 1.1.8 | 
 | 
隐藏状态栏,仅在iOS全屏下有效 | 
微信小程序、百度小程序、QQ小程序 | 
handelStop 1.1.8 | 
 | 
停止视频 | 
微信小程序 | 
注意事项
- APP全屏需要按照文档基本用法进行配置,
 
- APP端如果需要全屏倍速及试看,需要使用
.nvue文件