zoukankan      html  css  js  c++  java
  • AURemoteIO::Initialize failed: -12985 when app under background

      iOS的后台播放实在是折磨人,各种原因导致不能后台播放,这次又遇到了audio unit初始化失败的问题。

      情况是这样的:点击播放一首歌曲,然后快速使app进入后台模式,这个错误就比较常现了,大约有三四成的比例。这个真的是毫无头绪,感觉不到解决的希望,就各种看资料,这种搜索。上帝保佑,后来在stackoverflow上看到有一个问题是voip在后台模式收到消息后启动失败,也是这个错误,看到一个回答说是因为在后台模式无法打开音频设备的缘故。当时只是纪录了答案,但是毕竟情况不太一样,别人的问题是在后台启动失败,咱是在进入后台的时候偶尔失败,不是必现,只是概率较高而已。所以也不是很放在心上。后来在我持续的测试这个问题的过程中,发现貌似之后第一次启动设备时快速进入后台才会出现这个问题,如果正常播放过一次之后,则不会再遇到这个问题了。观察到这个现象之后给了我相当大的启示,在没有任何播放历史的情况下,快速后台必须失败,是不是也是因为在后台不能打开音频设备呢,为了验证是否是这一问题,就在程序启动的时候播放了一小段音频,之后再次播放音频然后快速后台,audio unit 初始化失败的情况再没有遇到过,看来问题就出在这里。

      即在后台模式无法激活音频设备,所以在进入后台模式之前,必须首先激活一下设备,我将这个过程叫做预热设备。怎么激活呢?可以在程序处于前台时,播放一点点无声音频,然后立即关闭,即可解决该问题。

  • 相关阅读:
    SQL Server CheckPoint的几个误区
    MongoDB集群与LBS应用系列(一)
    也来“玩”Metro UI之磁贴
    Python基础:函数式编程
    ASP.NET MVC 用户登录Login
    巧用 .NET 中的「合并运算符」获得 URL 中的参数
    Razor.js,基于JavaScript的Razor实现
    大话数据结构-排序
    hdu 1498
    3.7 检测两个表中是否有相同的数据
  • 原文地址:https://www.cnblogs.com/CoderPlace/p/3234609.html
Copyright © 2011-2022 走看看