【已解决】HarmonyOS鸿蒙Next中avplayer退出后重新打开无法播放

【已解决】HarmonyOS鸿蒙Next中avplayer退出后重新打开无法播放

按照官方案例:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/using-avplayer-for-playback-0000001504424437-V3

我的想法是保存手机里的MP3文件的URI到一个数组里,每次需要播放时就将URI打开传入avplayer进行播放,真机测试时遇到个问题:

新增MP3文件后,点击播放,可以正常播放,如果此时退出APP再打开,再点击播放,就无法正常播放,不知道是URI问题还是avplayer问题,抑或其他问题,请大佬指点。


更多关于【已解决】HarmonyOS鸿蒙Next中avplayer退出后重新打开无法播放的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

你好 我这边和你类似的问题

不过我应用的是网络音乐 第一次进入APP 点击是可以播放音乐的 但是我跳转到别的页面 再返回的时候 就报错

Invoke avPlayer failed, code is 401, message is Invalid Parameter: failed to SetSourceNetWork

更多关于【已解决】HarmonyOS鸿蒙Next中avplayer退出后重新打开无法播放的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


不知道你现在说的这个问题还是不是之前你发出来帖子里的问题,我之前试过下载你附件里的文档,但也没弄出一个结果,看你用的是videoavplayer两个接口,看报错的话,个人感觉像是提供的播放源有问题,我也用你的播放源测试了下,播放不了,后面就没再尝试了。看到你留言,刚好也有时间,就再试了下,自己重新写了个demo,刚从网上找了一个在线播放的链接,按照你说的方式点击播放-跳转页面-再回到播放页面,这个过程并不影响音乐播放。然后又重新下载了你之前帖子里的test,将你index里的音乐URL换成了我找的这个,可以正常播放,关闭APP后再打开也没问题,所以结合我测试的结果和你反馈的这个报错来看,我还是觉得是你提供的播放源有问题,但你说测试过刚打开可以播放,后面又不行,我也觉得挺奇怪的,所以我也不是很清楚什么问题了。

我是局域网的url
测试的话 得自己替换下资源
我不是退出APP的问题
我这边是先点击音乐播放 确认资源是没问题的

然后我把APP进程关闭杀死
重新进入APP
先播放视频 在返回页面点击播放音频
就会出现
Invoke avPlayer failed, code is 401, message is Invalid Parameter: failed to SetSourceNetWork 的问题了,

因为我这个是个demo 所以仅仅以最简单的例子写的 发的工单(至今没回复解决)
我原来音频是个列表 点击哪个就播放哪个的那种
最开始我以为是video和avplayer的冲突 后来我发现进入到任何一个新开的页面 再返回都会出现这个问题,

目前找到的原因是无法根据URI打开文件,抛出【Operation not permitted】,猜测是没有获取权限的问题,晚点添加个权限试试看。

通过申请该权限:ohos.permission.READ_MEDIA允许应用读取用户外部存储中的媒体文件信息。
已经解决重启APP后的播放问题。

在HarmonyOS鸿蒙Next中,avplayer退出后重新打开无法播放的问题可能与资源释放和状态管理有关。avplayer在退出时未正确释放资源,导致重新打开时无法初始化。检查avplayer的release方法是否被调用,确保资源被完全释放。同时,确认在重新打开avplayer时,其状态是否正确重置为初始状态。如果使用了MediaPlayerListener,确保监听器在重新打开时被正确注册。此外,检查是否有其他组件或服务在avplayer退出后仍占用相关资源,导致avplayer无法重新初始化。

在HarmonyOS鸿蒙Next中,avPlayer退出后重新打开无法播放的问题,通常是由于资源未正确释放或状态未重置导致的。解决方法包括:

  1. 确保资源释放:在退出时调用release()方法,释放播放器资源。
  2. 重置播放器状态:重新打开时,调用reset()方法,重置播放器状态。
  3. 检查资源路径:确保重新打开时提供的资源路径正确无误。
  4. 重新初始化:重新初始化播放器,确保所有配置正确。

通过这些步骤,可以有效解决avPlayer重新打开无法播放的问题。

回到顶部