HarmonyOS 本地视频播放器
大家好,借来下我要介绍如何在鸿蒙模拟器(手机)里播放视频。
-
开发框架:HarmonyOS ArkTS
-
开发工具:DevEco Studio
-
目标平台:HarmonyOS 手机/模拟器
最终效果展示

output.mp4 // 视频文件
注意:视频文件要放到
rawfile软件文件夹里
视频可持续播放
下面是完整代码(注意在Index里写代码,因为是设备默认启动):
@Entry
@Component
struct Index {
// 视频控制器
private controller: VideoController = new VideoController();
// 视频预览图(未播放时显示)
private previewUri: Resource = $r('app.media.background')
build() {
Column({ space: 15 }) {
// ========== 1. 标题 ==========
Text('「本地视频播放器」')
.fontSize(24)
.fontWeight(FontWeight.Bold)
.textAlign(TextAlign.Center)
.width('100%')
// ========== 2. 视频播放器 ==========
Video({
src: $rawfile('output.mp4'), // 视频源
controller: this.controller, // 控制器
previewUri: this.previewUri // 预览图
})
.muted(false) // 不静音
.controls(false) // 隐藏默认控制条
.loop(true) // 循环播放
.autoPlay(true) // 自动播放
.width('100%') // 宽度填满
.height(220) // 高度 220vp
// ========== 3. 控制按钮 ==========
Row({ space: 20 }) {
Button('播放')
.width(120)
.height(45)
.fontSize(18)
.onClick(() => {
this.controller.start() // 播放
})
Button('暂停')
.width(120)
.height(45)
.fontSize(18)
.onClick(() => {
this.controller.pause() // 暂停
})
}
.width('100%')
.justifyContent(FlexAlign.Center) // 按钮居中
}
.width('100%')
.height('100%')
.padding(20)
.backgroundColor('#F5F5F5')
}
}
一些代码的讲解:
.muted(false) // 设置是否静音
.controls(false) // 设置是否显示默认控制条
.loop(true) // 设置是否循环播放
.autoPlay(false) // 设置是否自动播放
.objectFit(ImageFit.Contain) // 设置视频填充模式
private previewUri:Resource = $r('app.media.background')---这段代码是设置视频的封面
Video({
src: $rawfile('output.mp4'), // 视频源
controller: this.controller, // 控制器
previewUri: this.previewUri // 预览图
}) //output是视频文件名称,代码是视频名称和你想播放的视频的名称需要一样
如果遇到无法播放问题:
可以按照豆包给的方法,或者直接问ai(问清楚就行)
屏幕录制 2026-06-17 110908
知识点总结
1️⃣ Video 组件属性
| 属性 | 类型 | 说明 | 示例 |
|---|---|---|---|
src |
Resource |
视频文件路径 | $rawfile('output.mp4') |
controller |
VideoController |
控制视频播放 | new VideoController() |
autoPlay |
boolean |
是否自动播放 | true / false |
loop |
boolean |
是否循环播放 | true / false |
muted |
boolean |
是否静音 | true / false |
controls |
boolean |
是否显示系统控制条 | true / false |
previewUri |
Resource |
视频预览图 | $r('app.media.xxx') |
width/height |
number/string |
视频尺寸 | '100%' / 200 |
更多推荐




所有评论(0)