AVAudioSession setActive 在键盘扩展中抛出错误 561015905

问题描述 投票:0回答:1

我正在尝试在 Swift 中从键盘扩展录制和播放音频,但它在线上抛出错误

recordingSession.setActive(true)

错误: 记录失败 操作无法完成。 (操作系统状态错误 561015905。)

我已经在 info.plist 中将 RequestsOpenAccess 键设置为 true 并授予对键盘扩展的完全访问权限。

ios swift avfoundation ios-keyboard-extension
1个回答
0
投票

Apple Guide“如果应用程序的信息属性列表不允许使用音频,则可能会发生此错误类型。如果应用程序位于后台并使用不允许背景音频的类别,也可能会发生这种错误类型。”

  • 在 Xcode 中打开您的项目。
  • 转到“签名和功能”选项卡。
  • 点击“+功能”并添加“背景模式”。
  • 勾选“音频、AirPlay 和画中画”。

示例:

import AVFoundation

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Configure audio session
    do {
        try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: .mixWithOthers)
        try AVAudioSession.sharedInstance().setActive(true)
    } catch {
        print("Failed to configure audio session: \(error)")
    }
    
    return true
}
© www.soinside.com 2019 - 2024. All rights reserved.