HarmonyOS 鸿蒙Next中AVPlayer的url居然不支持放本地文件路径?

HarmonyOS 鸿蒙Next中AVPlayer的url居然不支持放本地文件路径?

AVPlayer的url居然不支持放本地文件路径? 非得在中间转换一次

async getProxyUrl(url: string): Promise<string> {
    let tempUrl = await GlobalProxyServer?.getInstance()?.getServer()?.getProxyUrl(url)
    let proxyUrl: string | undefined = tempUrl ? tempUrl : url

    if (!proxyUrl.startsWith("http://") && !proxyUrl.startsWith("https://")) {
      let file = fs.openSync(proxyUrl, fs.OpenMode.READ_ONLY);
      proxyUrl = "fd://" + file.fd
    }

    return proxyUrl
  }

更多关于HarmonyOS 鸿蒙Next中AVPlayer的url居然不支持放本地文件路径?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
let proxyUrl = await GlobalProxyServer?.getInstance()?.getProxyUrl(wav) 
this.avPlayer!.url = proxyUrl

更多关于HarmonyOS 鸿蒙Next中AVPlayer的url居然不支持放本地文件路径?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,AVPlayer的主要设计用途是用于处理网络流媒体播放,因此其URL接口默认不支持直接加载本地文件路径。AVPlayer的URL参数通常用于指定网络资源的地址,如HTTP或HTTPS协议的流媒体链接。对于本地文件的播放,鸿蒙系统提供了其他专门的接口或组件,如FileDescriptorAssetFileDescriptor,以便更高效地处理本地媒体文件的播放需求。如果需要播放本地文件,建议使用这些专门的接口,而不是通过URL方式加载。

在HarmonyOS鸿蒙Next中,AVPlayer确实不支持直接播放本地文件路径。AVPlayer主要用于播放网络流媒体,如HTTP或RTSP协议的视频流。要播放本地文件,建议使用MediaPlayerPlayer类,它们支持本地文件路径。例如,可以使用MediaPlayersetSource方法指定本地文件路径进行播放。这种设计可能是为了明确区分网络流媒体和本地媒体的播放场景,确保API的职责单一性。

回到顶部