HarmonyOS 鸿蒙Next 升级到api11的时候,关于avplay
HarmonyOS 鸿蒙Next 升级到api11的时候,关于avplay
我在api9的时候用avplay实现了播放器播放音频功能,那个时候是允许在全局定义
private avPlayer; 然后用this.avPlayer 来绑定按钮控制播放暂停等操作的
现在升级到11之后,首先就不能允许这样空定义,但是初始化是 avPlayer = await media.createAVPlayer();
await是不被允许写在没有 async 修饰的方法的。
假设我只在某个async修饰的方法中去定义初始化,那么我在页面按钮怎么控制这个avPlayer来进行播放暂停等动作呢?
我观察官方文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-avplayer-for-playback-V5
里面也是在方法中定义的,没有演示怎么在页面按钮中去控制播放或者暂停
更多关于HarmonyOS 鸿蒙Next 升级到api11的时候,关于avplay的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
官方示例中常用方式:
声明:仍然声明为组件全局变量
private avPlayer: media.AVPlayer | undefined = undefined; (漏写了真实类型:)
初始化:可按原来方式,相应方法前加async即可;
使用:在要调用的位置添加 if (avPlayer != undefined) { } 包围调用的代码以免IDE警告对象可能是undefined状态。
更多关于HarmonyOS 鸿蒙Next 升级到api11的时候,关于avplay的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
嗯 我刚刚也找到了 private avPlayer: media.AVPlayer | undefined = undefined; 类型还是要声明的 media.AVPlayer还得加上 感谢
关于HarmonyOS 鸿蒙Next升级到API11时关于avplay的问题,你需要在全局声明avPlayer为media.AVPlayer | undefined类型,并在需要使用时检查其是否为undefined。在API11中,由于语言规范的变化,你需要在async函数中初始化avPlayer,这通常意味着你需要在适当的事件处理或初始化逻辑中处理它。如果avPlayer需要在多个地方被访问和控制,建议将其封装在适当的组件或服务中。如果问题依旧没法解决请加我微信,我的微信是itying888。
更多关于HarmonyOS 鸿蒙Next 升级到api11的时候,关于avplay的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html