视频播放
前言
本Demo基于JS UI实现视频播放。可以通过video自带的控制栏进行播放、暂停等操作。
过程
从以下地址下载代码
https://gitee.com/qinyunti/applications_app_samples
打开DevEco Studio 3.0.0.993
打开工程
更新
点击Run
有如下提示按图配置即可
代码分析
程序入口
src/main/js/MainAbility/app.js
布局
src/main/js/MainAbility/pages/index/index.hml
src/main/js/MainAbility/pages/index/index.css
代码
src/main/js/MainAbility/pages/index/index.js
import prompt from '@ohos.prompt';
import router from '@ohos.router';
export default {
data: {
autoplay: false,
url: '/common/video/1.mp4',
controlShow: true,
loop: false,
startTime: 0,
speed: 0.3,
isStart: false
},
prepared(e) {
this.showPrompt(this.$t('strings.video_duration') + e.duration + this.$t('strings.second'))
},
start() {
this.showPrompt(this.$t('strings.video_start'))
this.isStart = true
},
pause() {
this.showPrompt(this.$t('strings.video_pause'))
this.isStart = false
},
playFinish() {
this.$element('confirmDialog').show()
},
playSeeked(e) {
this.showPrompt(this.$t('strings.video_seeked') + e.currenttime + this.$t('strings.second'))
},
timeUpdate(e) {
},
confirm() {
this.$element('video').start()
this.$element('confirmDialog').close()
},
cancel() {
this.$element('confirmDialog').close()
},
showPrompt(msg) {
prompt.showToast({
message: msg,
duration: 1000
})
},
onClick() {
if (this.isStart) {
this.$element('video').pause()
this.isStart = false
} else {
this.$element('video').start()
this.isStart = true
}
},
longPress() {
router.replace({
url: 'pages/index/index'
})
}
}
视频文件位于/common/video/1.mp4可以替换。
总结
基于JS UI框架能快速开发视频播放应用,十分便捷。
|