# sunny-video视频倍速播放器 > **组件名:sunny-video** ### 平台差异说明 - 目前已应用到APP(安卓、iOS)、微信(小程序、H5) - 其它平台未测试 ### 安装方式 - 本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 - **uni-app插件市场链接** —— [https://ext.dcloud.net.cn/plugin?id=11982](https://ext.dcloud.net.cn/plugin?id=11982) ### 基本用法 - APP端需要配置`manifest.json>App模块配置`勾选`VideoPlay(视频播放)` - App端:3.6.14 以及 手机系统 iOS16 以上video全屏 需要配置应用支持横屏: 在`manifest.json` 文件内 `app-plus` 节点下新增 `screenOrientation` 配置,设置值为`["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"]`。如下: ```json "app-plus" : { "screenOrientation" : [ "portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary" ] } ``` ### 代码演示 ```vue ``` ### 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 - 需要通过ref获取组件才能调用 | 名称 | 参数 | 说明 | 差异 | |:-: |:-: |:-: |:-: | | 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全屏需要按照文档[基本用法](#jump1)进行配置, - APP端如果需要全屏倍速及试看,需要使用`.nvue`文件