出于某种原因,我的录音笔应用程序不会使用AirPods作为输入源。开始录制时,输入源从AirPods变为iPhone麦克风。不知道如何解决它。
答案 0 :(得分:1)
连接AirPods时,有两种记录和播放音频的方法。对于这两种情况,我们将使用AVAudioSessionCategoryPlayAndRecord
类别。诀窍是管理AVAudioSession
的选项集。
.allowBluetoothA2DP
选项。这将使您可以通过AirPods收听音频并使用内置麦克风进行录音。.allowBluetooth
选项。使用此选项,您可以在播放过程中使用AirPods录制音频。但是在这种情况下,音频质量会降低。答案 1 :(得分:0)
艾迪 如果您仍然遇到此问题,请参阅我发布的类似帖子,以便我们能够最终解决我们遇到的问题。
答案 2 :(得分:0)
首先,我捕获可用的输出源。
let currentOutputSource = AVAudioSession.sharedInstance().outputDataSource
try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: [.allowBluetooth, .allowBluetoothA2DP])
if let currentOutputSource = currentOutputSource {
// Then i set known output source to input source.
try AVAudioSession.sharedInstance().setInputDataSource(currentOutputSource)
}
try? AVAudioSession.sharedInstance().setActive(true)
答案 3 :(得分:-1)
对我有用
try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: [.allowBluetooth, .allowBluetoothA2DP]
if let headphones = AVAudioSession.sharedInstance().availableInputs?.first(where: { $0.portType == .bluetoothHFP || $0.portType == .bluetoothA2DP || $0.portType == .headphones }) {
try? AVAudioSession.sharedInstance().setPreferredInput(headphones)
}
try? AVAudioSession.sharedInstance().setActive(true)