gpt4 book ai didi

ios - AVFoundation添加音频输入会使音频播放静音

转载 作者:行者123 更新时间:2023-12-02 23:32:10 24 4
gpt4 key购买 nike

我有一个使用AVFoundation录制音频和视频的应用程序。我希望在我的应用程序中录制音频时继续从其他应用程序(或系统)进行音频播放,但是当将输入添加到 session 中时,已经从另一个应用程序中播放的音频会被神奇地静音。

相应的代码如下所示:

// set up audio device
if(m_audioenabled) {
print("Audio enabled")
if self.m_audioDevice != nil {
do {
let audioinput = try AVCaptureDeviceInput(device: self.m_audioDevice!)
if self.m_session.canAddInput(audioinput) {
self.m_session.addInput(audioinput)
}
} catch _ {
print("failed adding audio capture device as input to capture session")
}
}

m_audioDataOutput = AVCaptureAudioDataOutput()
m_audioDataOutput?.setSampleBufferDelegate(self, queue: self.m_captureSessionQueueAudio)
if self.m_session.canAddOutput(m_audioDataOutput!){
self.m_session.addOutput(m_audioDataOutput!)
}
}

如果我注释掉对canAddInput(...)的调用,音频将继续播放,当我调用它时,音频播放将被静音。

如何禁用该行为?

请注意,不能选择迁移到另一个Audio-API。

最佳答案

听起来您的AVAudioSession是不可混合的(我认为是默认值)。在设置AVCaptureSession之前,请尝试激活可混合的音频 session :

let session = AVAudioSession.sharedInstance()
try! session.setCategory(AVAudioSessionCategoryPlayAndRecord, with: [.mixWithOthers])
try! session.setActive(true)

关于ios - AVFoundation添加音频输入会使音频播放静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51241890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com