ios – 在后挡板和屏幕关闭时在WatchKit锻炼应用程序中播放音频

ios – 在后挡板和屏幕关闭时在WatchKit锻炼应用程序中播放音频,第1张

概述我正在尝试构建一个WatchKit应用程序,它将在锻炼期间提供音频反馈.音频是一系列短预先录制的语音片段. >该应用程序开始锻炼会话 >当应用处于活动状态时,音频剪辑可以正常播放 >当屏幕打开时应用程序处于后台时(例如,通过点击数字表冠或打开另一个应用程序),音频也可以正常播放. 但是,当屏幕关闭时 – 例如通过开始锻炼然后降低手腕 – 在应用再次激活之前,音频不会播放. 即 >开始锻炼保持应用程 我正在尝试构建一个WatchKit应用程序,它将在锻炼期间提供音频反馈.音频是一系列短预先录制的语音片段.

>该应用程序开始锻炼会话
>当应用处于活动状态时,音频剪辑可以正常播放
>当屏幕打开时应用程序处于后台时(例如,通过点击数字表冠或打开另一个应用程序),音频也可以正常播放.

但是,当屏幕关闭时 – 例如通过开始锻炼然后降低手腕 – 在应用再次激活之前,音频不会播放.

>开始锻炼保持应用程序在屏幕上=声音播放正常.
>通过点击数字皇冠保持屏幕开始锻炼移动应用程序到背景=声音播放正常.
>开始锻炼下手腕=屏幕关闭,声音不再播放.
>开始锻炼移动应用程序到背景下手腕=屏幕关闭,声音不再播放.

当屏幕关闭时,我正在试图找出我为了支持锻炼应用程序中的音频而错过了什么…

>该应用程序有一个活跃的HKWorkoutSession.
>扩展程序在WKBackgroundModes下启用了“锻炼处理”后台模式
>扩展程序还在uibackgroundmodes下启用了“音频”后台模式.
>该扩展具有HealthKit权利,并且所有HealthKit功能都正常工作.
>在iOS应用程序中,我添加了“音频”背景模式.

我试过了:

>使用AVAudioPlayer播放音频片段
>使用AVAudioEngine AVAudioPlayerNode播放音频
>完全放弃剪辑并使用AVSpeechSynthesizer

行为是相同的 – 一旦屏幕关闭,声音就不再播放.如果应用程序在后台并且屏幕仍然打开,则会播放声音.

该应用程序在Watch OS 4上运行.我已经在SerIEs 2和SerIEs 3手表上进行了测试,两者都是相同的.

我错过了什么?

解决方法 啊,最后我找到了 this帖子并意识到我遇到了同样的问题:

AVAudioSession类别需要设置为AVAudioSessioncategoryPlayback(我将其设置为环境).

只要我将会话类别更改为AVAudioSessioncategoryPlayback就可以了!

总结

以上是内存溢出为你收集整理的ios – 在后挡板和屏幕关闭时在WatchKit锻炼应用程序中播放音频全部内容,希望文章能够帮你解决ios – 在后挡板和屏幕关闭时在WatchKit锻炼应用程序中播放音频所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067106.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存