gpt4 book ai didi

ios - 只有背景音乐的 AVCaptureSession

转载 作者:行者123 更新时间:2023-11-29 12:33:44 30 4
gpt4 key购买 nike

我需要做这样的事情。我的应用程序使用 AVCapturesession 进行录制,但它应该能够流式传输带有我播放过的背景音乐的实时提要。

请记住,我可以使用 AVCapturesession 播放背景音乐,但问题是它还涉及周围环境的声音。

这是我正在使用的 Audio Session 类别

     AudioSessionInitialize(NULL, NULL, NULL, self);

// //set the audio category
UInt32 audioCategory = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(audioCategory), &audioCategory);

// mix with others!! this allows using AVCaptureSession and AusioSession simultaniously
UInt32 doSetProperty = 1;
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(doSetProperty), &doSetProperty);

AudioSessionSetActive(YES);

我已经尝试了几乎所有类别的组合,但我无法获得所需的输出,SoloAmbient 和 Ambient 根本不播放声音。

我也曾尝试禁用 AVCapturesession 的音频输入,但它没有帮助。

最佳答案

您必须删除代表麦克风的 AVCaptureInput 设备。您可以通过遍历 AVCaptureSession 实例并执行如下操作来完成此操作:

AVCaptureSession *currentSession = self.currentSession;
for(AVCaptureInput *input in currentSession.inputs) {

for (AVCaptureInputPort *port in input.ports) {
if ([[port mediaType] isEqual:AVMediaTypeAudio]) {
[currentSession removeInput:input];
break;
}
}
}

现在像这样设置你的音频:

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];
NSError *activationError = nil;
BOOL success = [session setActive: YES error: &activationError];

SWIFT 3

let currentSession = self.currentSession

for input in currentSession.inputs as! [AVCaptureInput] {
for port in input.ports as! [AVCaptureInputPort] {
if port.mediaType == AVMediaTypeAudio {
currentSession.removeInput(input)
break
}
}
}

do {
let session = AVAudioSession.sharedInstance()
try session.setCategory(AVAudioSessionCategoryPlayAndRecord, with: [AVAudioSessionCategoryOptions.mixWithOthers, AVAudioSessionCategoryOptions.defaultToSpeaker])
try session.setActive(true)
} catch {

}

关于ios - 只有背景音乐的 AVCaptureSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932878/

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