gpt4 book ai didi

ios - 在 AVCaptureSession 中捕获音频时取消背景音乐

转载 作者:行者123 更新时间:2023-11-29 01:25:33 26 4
gpt4 key购买 nike

我希望在我的 iOS 应用中继续播放背景音乐。但是,每当我进入我的应用程序时,背景音乐都会被取消。我将问题隔离到 AVCaptureSession 的音频部分:

var audioDevice = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Audio);
var audioInput = AVCaptureDeviceInput.FromDevice(audioDevice);
captureSession.AddInput(audioInput);

我尝试通过两种方式立即设置 AudioSession:

AudioSession.Initialize();
AudioSession.Category = AudioSessionCategory.AmbientSound;
AudioSession.SetActive(true);

或者像这样:

AudioSession.Initialize();
AudioSession.Category = AudioSessionCategory.MediaPlayback;
AudioSession.OverrideCategoryMixWithOthers = true;
AudioSession.SetActive(true);

但两者都不起作用。

最佳答案

您是否尝试过显式创建 session 对象的实例并设置 MixWithOthers,如所述here ?我在想 Xamarin 的等价物是这样的

AVAudioSession session = AVAudioSession.SharedInstance();
session.SetCategory(AVAudioSessionCategory.PlayAndRecord, AVAudioSessionCategoryOptions.MixWithOthers | AVAudioSessionCategoryOptions.DefaultToSpeaker);

或者,按照上面链接中的建议,尝试在您的 AppDelegate 中设置以下内容:

AudioSession.Category = AudioSessionCategory.PlayAndRecord;
AudioSession.AudioShouldDuck = true;
AudioSession.OverrideCategoryDefaultToSpeaker = true;

...然后像这样创建您的 AVCaptureSession:

AVCaptureSession session2 = new AVCaptureSession();
session2.AutomaticallyConfiguresApplicationAudioSession = false;

关于ios - 在 AVCaptureSession 中捕获音频时取消背景音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34062843/

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