赞
踩
Video组件用于播放视频文件并控制其播放状态
该组件从API Version 7开始支持。
如果播放网络视频,需要申请权限ohos.permission.INTERNET
如果是新建ArkTS页面,记得先去main_pages.json配置页面路径
不支持子组件
src 视频播放源的路径,支持本地视频路径和网络路径。
支持在resources下面的video或rawfile文件夹里放置媒体资源
支持视频格式:mp4、mkv、webm、TS
currentProgressRate 视频播放倍速
number取值仅支持0.75、1.0、1.25、1.75、2.0(默认1.0)
previewUri 视频未播放时的预览图片路径
controller 设置视频控制器
muted 是否静音,默认值: false
autoPlay 是否自动播放,默认值: false
controls 控制视频播放的控制栏是否显示
objectFit 设置视频显示模式
loop 是否单个视频循环播放
onStart() 播放时触发该事件
onPause() 暂停时触发该事件
onFinish() 播放结束时触发该事件
onError() 播放失败时触发该事件
onPrepared((duration) =>{}) 视频准备完成时触发该事件,通过duration可以获得视频时长,单位为秒(s)。
onSeeking((number) => {}) 操作进度条过程时上报时间信息,单位为s。
onSeeked((number) => {}) 操作进度条完成后,上报播放时间信息,单位为s。
onUpdate((number) => {}) 播放进度变化时触发该事件,单位为s,更新时间间隔为250ms
onFullscreenChange((fullscreen) => {}) 在全屏播放和非全屏播放状态之间切换时触发该事件, 返回值为true表示进入全屏播放状态,为false则表示非全屏播放。
一个VideoController对象可以控制一个或多个video
VideoController对象方法
start() 开始播放
pause() 暂停播放
stop() 停止播放
setCurrentTime(number) 指定视频播放的进度位置
requestFullscreen(value) 请求全屏播放
exitFullscreen() 退出全屏播放
@Entry @Component struct Vedio{ controller: VideoController = new VideoController() isPlay: boolean = false build(){ Column(){ Video({ src: $rawfile('believe.mp4'), previewUri: $r('app.media.icon'), controller: this.controller, currentProgressRate: PlaybackSpeed.Speed_Forward_2_00_X }) .width('100%') .height('80%') .onStart(() => { this.isPlay = true }) .onPause(() => { this.isPlay = false }) .onFinish(() => { this.isPlay = false }) .onClick(() => { if(this.isPlay == false) { this.controller.start() } else { this.controller.pause() } this.isPlay = !this.isPlay }) Button('退出全屏') .onClick(() => { this.controller.exitFullscreen() }) Button('进入全屏') .onClick(() => { this.controller.requestFullscreen(true) }) } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。