鸿蒙 Ark ui 视频播放组件 我不允许你不会

团队介绍

作者:徐庆

团队:坚果派 公众号:"大前端之旅" 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟悉服务卡片开发。欢迎合作。

前言:

各位同学有段时间没有见面 因为一直很忙所以就没有去更新博客。最近有在学习这个鸿蒙的ark ui开发 因为鸿蒙不是发布了一个鸿蒙next的测试版本 明年会启动纯血鸿蒙应用 所以我就想提前给大家写一些博客文章

概述

在手机、平板或是智慧屏这些终端设备上,媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集,还是视频的播放、切换、循环,亦或是相机的预览、拍照等功能,媒体组件都是必不可少的。以视频功能为例,在应用开发过程中,我们需要通过ArkUI提供的Video组件为应用增加基础的视频播放功能。借助Video组件,我们可以实现视频的播放功能并控制其播放状态。常见的视频播放场景包括观看网络上的较为流行的短视频,也包括查看我们存储在本地的视频内容

效果图

具体实现:

1 添加网络权限

在module.json5 里面添加网络访问权限

json 复制代码
"requestPermissions": [
  {
    "name": "ohos.permission.INTERNET"
  }
]

如果你是播放本地视频那么可以不添加这个 为了严谨我这边就提一下

我们要播放视频需要用到 video 组件

video 组件里面参数说明

| 参数名 | 参数类型 | 必填 |
|:------------------------------------------------|:----------------|:-----------|-----------------|---|
| src | string | Resource | 否 |
| currentProgressRate | number | string | PlaybackSpeed8+ | 否 |
| previewUri | string | PixelMap8+ | Resource | 否 |
| controller | VideoController | 否 |
| 其他属性说明 : | |
| .muted(false) //是否静音。默认值:false | |
| .controls(true)//不显示控制栏 | |
| .autoPlay(false) // 手动点击播放 | |
| .loop(false) // 关闭循环播放 | |
| .objectFit(ImageFit.Cover) //设置视频显示模式。默认值:Cover | |

具体代码

less 复制代码
@Entry
@Component
struct Index {


  @Styles
  customMargin() {
    .margin({ left: 20, right: 20 })
  }

  @State message: string = 'Hello World'
  private controller: VideoController = new VideoController();
  build() {
    Row() {
      Column() {
        Video({
          src: $rawfile('video1.mp4'),
          previewUri: $r('app.media.image3'),
          controller: this.controller
        })
          .muted(false) //是否静音。默认值:false
          .controls(true)//不显示控制栏
          .autoPlay(false) // 手动点击播放
          .loop(false) // 关闭循环播放
          .objectFit(ImageFit.Cover) //设置视频显示模式。默认值:Cover
          .customMargin()// 样式
          .height(200) // 高度
      }
      .width('100%')
    }
    .height('100%')
  }
}

最后总结

鸿蒙的视频播放和安卓还有iOS .里面差不多都有现成的组件使用, 但是底层还是有ffmpeg 的支持。 我们作为上层开发者只需要熟练掌握api使用即可做出来 一个实用的播放器 app, 还有很多细节 由于篇幅有限我就展开讲了 我们下一期再见 最后呢 希望我都文章能帮助到各位同学工作和学习 如果你觉得文章还不错麻烦给我三连 关注点赞和转发 谢谢

相关推荐
一直在想名18 分钟前
Flutter 框架跨平台鸿蒙开发 - 社交关系星图
flutter·华为·harmonyos
AI_零食2 小时前
开源鸿蒙跨平台Flutter开发:昼夜节律与睡眠相位-脑电波周期与最佳苏醒测绘架构
flutter·ui·华为·架构·开源·harmonyos·鸿蒙
李李李勃谦2 小时前
Flutter 框架跨平台鸿蒙开发 - 问题漂流瓶
flutter·华为·harmonyos
AI_零食2 小时前
Flutter 框架跨平台鸿蒙开发 - 自定义式按钮设计应用
学习·flutter·ui·华为·harmonyos·鸿蒙
一直在想名4 小时前
Flutter 框架跨平台鸿蒙开发 - 步数换算器
flutter·华为·harmonyos
chenyingjian6 小时前
鸿蒙|能力特性-统一文件预览
前端·harmonyos
Utopia^6 小时前
Flutter 框架跨平台鸿蒙开发 - 起床战争
flutter·华为·harmonyos
autumn20056 小时前
Flutter 框架跨平台鸿蒙开发 - 习惯养成塔
flutter·华为·harmonyos
李李李勃谦7 小时前
Flutter 框架跨平台鸿蒙开发 - 决策硬币
flutter·华为·harmonyos
samroom7 小时前
【鸿蒙应用开发 Dev ECO Studio 5.0版本】从0到1!从无到有!最全!计算器------按钮动画、滑动退格、中缀表达式转后缀表达式、UI设计
数据结构·ui·华为·typescript·harmonyos·鸿蒙