ArkUI—X跨平台应用视频播放器
ArkUI
ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。
ArkUI-X
ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。
本文我们将完成跨平台的视频播放器
以下是完整源码。
完整源码
代码语言:javascript复制@Entry
@Component
struct VideoPage {
@State videoSrc: string = "https://media.w3.org/2010/05/sintel/trailer.mp4"
@State curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X
@State isAutoPlay: boolean = false
@State showControls: boolean = true
controller: VideoController = new VideoController()
build() {
Column() {
Video({
src: this.videoSrc,
currentProgressRate: this.curRate,
controller: this.controller
})
.width('100%')
.height(600)
.autoPlay(this.isAutoPlay)
.controls(this.showControls)
.onStart(() => {
console.info('onStart')
})
.onPause(() => {
console.info('onPause')
})
.onFinish(() => {
console.info('onFinish')
})
.onError(() => {
console.info('onError')
})
.onPrepared((e) => {
console.info('onPrepared is ' e.duration)
})
.onSeeking((e) => {
console.info('onSeeking is ' e.time)
})
.onSeeked((e) => {
console.info('onSeeked is ' e.time)
})
.onUpdate((e) => {
console.info('onUpdate is ' e.time)
})
Row() {
Button('开始').onClick(() => {
this.controller.start() // 开始播放
}).margin(5)
Button('暂停').onClick(() => {
this.controller.pause() // 暂停播放
}).margin(5)
Button('停止').onClick(() => {
this.controller.stop() // 结束播放
}).margin(5)
}
Row() {
Button('0.75 倍速').onClick(() => {
this.curRate = PlaybackSpeed.Speed_Forward_0_75_X // 0.75倍速播放
}).margin(5)
Button('1倍速').onClick(() => {
this.curRate = PlaybackSpeed.Speed_Forward_1_00_X // 原倍速播放
}).margin(5)
Button('2倍速').onClick(() => {
this.curRate = PlaybackSpeed.Speed_Forward_2_00_X // 2倍速播放
}).margin(5)
}
Row() {
Button('隐藏控制栏').onClick(() => {
this.showControls = !this.showControls // 切换是否显示视频控制栏
}).margin(5)
}
}
}
}
然后我们
代码语言:javascript复制ace build apk --debug
代码语言:javascript复制ace run --device 4HDVB22721000372 apk
就可以在真机上看到效果了。
总结
在我写这个视频播放器的时候,还是感觉比较轻松的。一套代码,能够跨平台扩展到多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,还是比较看好的。遥遥领先。
最后欢迎大家关注坚果派
坚果派
坚果派专注于鸿蒙应用开发,元服务开发,是由7名华为HDE组成的导师团队。
选题思路
为什么会选择ArkUI—X呢,作为新的一个跨平台框架,自己还是蛮感兴趣的,所以就想体验一下。
最后是效果:https://www.bilibili.com/video/BV1mj411r7ar/?spm_id_from=333.999.0.0