• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 可以在没有 MixWithOthers 的情况下在后台状态下激活 AVAudioSession 吗?

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:41:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

所以我的应用程序在后台运行,因为 CoreLocation 请求了 AlwaysAuthorization。这可以防止应用程序达到挂起状态。它保持在后台状态并正在接收位置事件。在一些位置事件之后,我想激活 AVAudioSession 并播放一些声音。当我现在在前台使用其他应用程序并且此应用程序正在播放音轨时,如何正确激活 session (在此后台应用程序中)。假设我正在 Youtube 应用中观看一些视频,而我的后台应用现在需要播放音频。在这种情况下,我无法激活 Audio Session 。

在这种情况下我不能使用 AudioToolbox 播放引擎,因为即使打开响铃/静音开关也需要播放这些声音。

我知道我需要使用 AVAudioSessionCategoryPlayback 类别。我也不希望同时播放其他应用,所以我没有使用 MixWithOthersDuckOthers 类别选项。

我已启用 UIBackgroundModes 以在后台播放音频。

当应用程序处于后台并且其他应用程序当前正在播放音频而未启用任何混合选项时,如何激活此类 session 。如何中断当前前台应用程序中的 Audio Session ,以便我的后台应用程序可以激活它以进行播放。播放结束后,我的计划是在后台停用 Audio Session 并通知其他应用他们可以恢复播放。



Best Answer-推荐答案


AppDelegate.m 类的 didFinishLaunchingWithOptions 方法中添加以下 3 行,然后再次测试应用程序。如果有任何问题,请告诉我。

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[UIApplication sharedApplication].idleTimerDisabled = YES;

关于ios - 可以在没有 MixWithOthers 的情况下在后台状态下激活 AVAudioSession 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41818208/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap