HarmonyOS 鸿蒙Next 加载网络视频封面

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 加载网络视频封面 我要实现一个图片和视频混合排列的一个列表,目前视频无法显示封面,除了下载视频再获取是你第一帧作为封面,还有什么更优的方案显示图片第一帧作为封面

2 回复

可参考这种类似的不需要下载直接获取第一帧作为封面的方式:

添加权限

"requestPermissions": [
  {
    "name": 'ohos.permission.INTERNET'
  }
],
@Entry
@Component
struct Page2 {
  controller: VideoController = new VideoController()
  @State shouldPlay:boolean = false
  firstTime:boolean = true

  build() {
    Row(){
      Stack(){
        // 视频播放(只播放到第一帧)
        Video({
          src: 'https://v6.huanqiucdn.cn/4394989evodtranscq1500012236/74eb48cb1253642698506930863/v.f100830.mp4',
          controller: this.controller
        })
          .width('100%')
          .height('100%')
          .controls(false)
          .objectFit(ImageFit.Contain)
          .onPrepared(() => {
            if (this.firstTime) {
              this.firstTime = false
              this.controller.setCurrentTime(0)
              this.controller.start()
              setTimeout(()=>{
                this.controller.stop()
              }, 5)
            }
          })
          .onClick(() =>{
            if (this.shouldPlay) {
              // 已经在播放
              this.shouldPlay = false
              this.controller.pause()
            } else {
              this.shouldPlay = true
              this.controller.start()
            }
          })
        if (!this.shouldPlay)  {
          // 播放图标
          Image($r('app.media.app_icon')).width(24).height(24)
        }
      }
      .width(200)
      .height(150)
      .borderRadius(4)
      .clip(true)
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}

更多关于HarmonyOS 鸿蒙Next 加载网络视频封面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next 加载网络视频封面”的问题,以下是一个简洁且专业的回答:

在HarmonyOS鸿蒙Next系统中加载网络视频封面,通常涉及到网络请求、视频信息解析以及图像显示等步骤。以下是一个基本的实现思路:

  1. 发起网络请求:使用HarmonyOS提供的网络API(如ohos.network.HttpURLConnection或第三方网络库)向视频服务器发送GET请求,获取视频信息。

  2. 解析视频信息:从服务器返回的响应中解析出视频封面的URL。这通常涉及到JSON或XML格式的解析。

  3. 加载并显示封面:使用HarmonyOS的图像组件(如Image)和图像加载库(HarmonyOS可能自带或需使用第三方库)来加载并显示封面图像。确保在UI线程中更新图像组件,以避免界面卡顿。

  4. 异常处理:在网络请求和图像加载过程中,添加必要的异常处理逻辑,以应对网络错误、解析错误或图像加载失败等情况。

请注意,具体的实现细节可能因HarmonyOS的版本、API的变化以及项目需求的不同而有所差异。如果在实际开发中遇到问题,建议查阅最新的HarmonyOS开发文档或相关社区资源。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部