And*_*can 6 audio text-to-speech background-process ios
我在Apple Watch中触发了在后台播放文字转语音的间歇性(aargh!)问题.我已正确设置后台模式,AVSession类别和WatchKitExtensionRequest处理程序.(见下文.)我之前有过这个工作,并且无法弄清楚改变了什么.(可能是iOS 9有问题吗?"之前"意味着,除其他外,iOS 8.)
问题是:当应用程序从Watch获取请求并且应用程序在后台或手机处于休眠状态(已锁定)时,语音有时会立即播放,而其他时间则无法播放,直到应用程序被带来到前台.操作系统似乎有时排队音频,有时不排队.我在成功和失败案例之间找不到任何共同点.我可以登录,要speakUtterance()的调用验证是被造的所有情况.但它的行为有所不同,显然是随机的.唯一的线索是,可能是应用程序在后台运行的时间越长,立即说话的可能性就越小.
这让我脱掉头发.建议欢迎.
所需的背景模式:App使用AirPlay播放音频或流音频/视频
do {
try AVAudioSession.sharedInstance().setCategory(
AVAudioSessionCategoryPlayback,
withOptions:.DuckOthers
)
try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
// etc...
}
Run Code Online (Sandbox Code Playgroud)
var bgTaskId:UIBackgroundTaskIdentifier = 0
bgTaskId = application.beginBackgroundTaskWithName(
"Prose WKE handler",
expirationHandler: {
application.endBackgroundTask(bgTaskId)
}
)
//... Post notification to call Text-to-Speech
application.endBackgroundTask(bgTaskId)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1697 次 |
| 最近记录: |