由于有個(gè)需求是做推送,在后臺(tái)推送過來的時(shí)候使用語言播報(bào)推送的內(nèi)容。最近有用戶反饋在IOS12系統(tǒng)無法正常播放語音。
開始的猜想是BaiduSpeechSDK百度語音的問題,就先把百度SDK升級(jí)到最新版。發(fā)現(xiàn)還是不能播報(bào),報(bào)錯(cuò)如下:
[ERROR][AudioBufPlayer.mm:1088]AudioQueue start errored error: 561015905 (!pla)
[ERROR][AudioBufPlayer.mm:1099]Can't begin playback while in background!
最后apple 官方文檔找到答案,Notification Service Extension errors in iOS 12.1 with AVFoundation
大概的意思是大部分的擴(kuò)展應(yīng)用extensions不能使用播放音頻,所以蘋果做了限制。蘋果推崇的做法是使用彈框的方式播放音頻,而且擴(kuò)展用使用background mode 模式下的play aduio,上架也會(huì)被拒掉