gpt4 book ai didi

ios - 如果类别 kAudioSessionCategory_PlayAndRecord 处于事件状态,AudioSession SetActive(true) 会立即停止 iPod 播放器

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

我有点懵。我正在运行以下设置。我正在使用 kAudioSessionCategory_PlayAndRecord 类别,iPod 在后台播放一些音乐。

如果我想播放一些具有以下类别覆盖的应用程序音乐,iPod 音乐将通过 [[AVAudioSession sharedInstance] setActive:YES...] 调用很快停止,但似乎回避和混合有效。一旦我的应用程序声音停止,同样会发生相应的 ...:setActive:NO] 调用。如果我将使用 MediaPlayback 类别,应用程序声音和 iPod 声音之间的“混合”效果很好,没有任何中断。类别切换对我来说不是一个选项(我还需要蓝牙覆盖),因此我期待着是否有人可以帮助我解决这个问题。

- (IBAction) playAppSound: (id) sender {

NSError *activationError = nil;
[[AVAudioSession sharedInstance] setActive: NO error: &activationError];

// set internal speakers as default...
UInt32 useDefaultSpeakers = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
sizeof(useDefaultSpeakers),
&useDefaultSpeakers);

// always try to enable ducking
UInt32 shouldDuck = 1;
AudioSessionSetProperty( kAudioSessionProperty_OtherMixableAudioShouldDuck,
sizeof(UInt32),
&shouldDuck );

UInt32 doSetProperty = 1;
AudioSessionSetProperty (
kAudioSessionProperty_OverrideCategoryMixWithOthers,
sizeof (doSetProperty),
&doSetProperty
);


// Activates the audio session.

[[AVAudioSession sharedInstance] setActive: YES error: &activationError];

[appSoundPlayer play];

最佳答案

我发现在 kAudioSessionCategory_PlayAndRecord session 上设置 kAudioSessionProperty_OtherMixableAudioShouldDuck kAudioSessionProperty_OverrideCategoryMixWithOthers 会使意想不到的事情发生(即混音覆盖失败)。您的应用程序真的需要回避其他音频吗?当我从我的应用程序中删除该部分时,一切都按我预期的那样工作。

关于ios - 如果类别 kAudioSessionCategory_PlayAndRecord 处于事件状态,AudioSession SetActive(true) 会立即停止 iPod 播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14687774/

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