HarmonyOS 鸿蒙Next视频加载不出来

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

HarmonyOS 鸿蒙Next视频加载不出来

如图所示为什么我的视频是黑屏,从后端获取的url没问题,网络权限也配置了,并且控制台打印以下错误:

我的视频是放在阿里云上的

我的代码是:

Column() {
  //返回
  Row() {
    Header({title:"运动"})
  }
  //视频
  Column() {
    Video({
      src: this.videoSrc,
      previewUri: this.previewUris,
      currentProgressRate: this.curRate,
      controller: this.controller
    })
      .autoPlay(this.isAutoPlay)
      .controls(this.showControls)
      .height("100%")
  }.height(330)
  // 大标题,最多两行
  Row() {
    Text(this.InMotionInfo.title)
      .textOverflow({ overflow: TextOverflow.Ellipsis })
      .maxLines(2)
      .fontSize(22)
      .fontWeight(500)
  }
  .margin({ top: 30 })
  .justifyContent(FlexAlign.Start)
  // 等级,时长,消耗热量,运动特点
  Row({ space: 25 }) {
    Column() {
      Text(this.InMotionInfo.league)
        .fontColor(Color.Black)
        .fontSize(18)
        .fontWeight(FontWeight.Bold)
      Text(this.InMotionInfo.leagueDescribe)
        .maxLines(1)
        .fontColor('#a9a9a9')
        .fontSize(15)
    }
    .justifyContent(FlexAlign.Start)
    .alignItems(HorizontalAlign.Start)
    .height(30)

    Column() {
      Text("" + this.InMotionInfo.time)
        .fontColor(Color.Black)
        .fontSize(18)
        .fontWeight(FontWeight.Bold)
      Text("分钟")
        .maxLines(1)
        .fontColor('#a9a9a9')
        .fontSize(15)
    }
    .justifyContent(FlexAlign.Start)
    .alignItems(HorizontalAlign.Start)
    .height(30)

    Column() {
      Text(this.InMotionInfo.cal)
        .fontColor(Color.Black)
        .fontSize(18)
        .fontWeight(FontWeight.Bold)
      Text("千卡")
        .maxLines(1)
        .fontColor('#a9a9a9')
        .fontSize(15)
    }
    .alignItems(HorizontalAlign.Start)
    .justifyContent(FlexAlign.Start)
    .height(30)

    Row() {
      Grid() {
        ForEach(this.InMotionInfo.motionFeatures, (item: string, index: number) => {
          GridItem() {
            MotionType({ content: this.InMotionInfo.motionFeatures[index] })
          }
        })
      }
      .rowsTemplate('1fr 1fr')
      .columnsTemplate('1fr 1fr 1fr')
    }
    .borderColor("#a9a9a9")
    .alignItems(VerticalAlign.Center)
    .width(155)
    .height(45)
  }
  .padding(10)
  .width("100%")
  .alignItems(VerticalAlign.Top)
  // 运动详细描述
  Row() {
    Scroll(this.scroller) {
      Text(this.InMotionInfo.text)
        .fontColor('#707070')
        .fontSize(13)
    }
    .height('100%')
  }
  .width("100%")
  .height(170)

  //GO!!!
  Row({ space: 10 }) {
    Button("暂停")
      .width(65)
      .height(40)
      .fontStyle(FontStyle.Italic)
      .fontSize(13)
      .fontWeight(FontWeight.Bolder)
      .backgroundColor("#24c68a")
      .onClick(() => {
        this.controller.pause()
      })
    Button("x0.75")
      .width(70)
      .height(40)
      .fontStyle(FontStyle.Italic)
      .fontSize(13)
      .fontWeight(FontWeight.Bolder)
      .backgroundColor("#24c68a")
      .onClick(() => {
        this.curRate = PlaybackSpeed.Speed_Forward_0_75_X
      })
    Button("G0")
      .width(75)
      .height(75)
      .fontStyle(FontStyle.Italic)
      .fontSize(30)
      .fontWeight(FontWeight.Bolder)
      .backgroundColor("#24c68a")
      .onClick(() => {
        this.controller.start()
        // this.controllerNum = 2
      })
    Button("X1")
      .width(65)
      .height(40)
      .fontStyle(FontStyle.Italic)
      .fontSize(13)
      .fontWeight(FontWeight.Bolder)
      .backgroundColor("#24c68a")
      .onClick(() => {
        this.curRate = PlaybackSpeed.Speed_Forward_1_00_X
      })
    Button("X2")
      .width(65)
      .height(40)
      .fontStyle(FontStyle.Italic)
      .fontSize(13)
      .fontWeight(FontWeight.Bolder)
      .backgroundColor("#24c68a")
      .onClick(() => {
        this.curRate = PlaybackSpeed.Speed_Forward_2_00_X
      })
  }
  .justifyContent(FlexAlign.Center)
  .margin({ top: 20 })
  .width("100%")
  .height(90)
}

请求各位大佬帮助,感激不尽


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

5 回复

几个变量的定义都没有,可能是这几个变量有问题,不符合VideoOption的参数要求

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


可以贴出videoSrc 这个变量是怎么定义的,怎么赋值的吗?

标题

这是第一段内容。

这是第二段内容。

粘一下代码看看,有用到@State吧,

针对“HarmonyOS 鸿蒙Next视频加载不出来”的问题,可能的原因及解决方案如下:

  1. 网络问题

    • 确认设备是否连接到稳定的网络。
    • 检查网络速度,确保足够支持视频流畅加载。
  2. 视频源问题

    • 确认视频源是否有效,尝试访问其他视频以验证是否为特定视频的问题。
    • 检查视频链接是否已过期或被删除。
  3. 应用缓存问题

    • 尝试清除应用的缓存和数据,然后重新启动应用。
    • 检查应用是否有更新版本,更新可能修复加载问题。
  4. 系统兼容性问题

    • 确认HarmonyOS版本是否支持当前使用的视频应用或播放器。
    • 查看应用商店或开发者网站,了解是否有针对HarmonyOS的优化或补丁。
  5. 硬件性能限制

    • 对于低性能设备,尝试降低视频质量或关闭其他占用资源的后台应用。

如果上述方法均未能解决问题,可能是由于更复杂的系统或应用内部错误导致。此时,建议直接联系鸿蒙系统的官方技术支持以获取更专业的帮助。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部