gpt4 book ai didi

iPhone - AVAudioPlayer、kAudioSessionCategory_AmbientSound 和 iPod 音乐

转载 作者:行者123 更新时间:2023-12-02 22:44:59 25 4
gpt4 key购买 nike

我在我的应用程序委托(delegate)中使用以下 Audio Session :

AudioSessionInitialize(NULL, NULL, NULL, self);
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);

AudioSessionSetActive(true);

我希望用户能够在播放 iPod 音乐的同时使用我的应用程序,这很棒而且工作正常……我的应用程序退出并允许播放 iPod 音乐。

我遇到的问题是......在用户退出我的应用程序,进入 iPod 应用程序并暂停后,当他们回到我的应用程序时,我的声音都不起作用。就好像它仍然认为 iPod session 处于事件状态,即使它没有播放任何音乐!

我基本上只想在 iPod 音乐暂停后重新激活我的 Audio Session 。就目前而言,在我通过 iPod 应用程序播放音乐之后,除非我重新编译,否则我完全无法恢复我的应用程序的声音。 :( 有人有想法么?

编辑:我忘了提到我正在使用 AVAudioPlayer 类的基本实现来播放我的应用程序的音频。

谢谢!

最佳答案

好吧,我只是想我会让每个人都张贴,以防它帮助别人......我所做的可能有点骇人听闻,但似乎可以解决问题!

UInt32 正在播放;
UInt32 propertySize = sizeof(isPlaying);
OSStatus 状态;

//检查他们的 iPod 音乐是否正在播放
状态 = AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying, &propertySize, &isPlaying);

//相应地设置 session 类别
如果(!正在播放){
NSLog(@"...SoloAmbientSound");
UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
}别的{
NSLog(@"...AmbientSound");
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
}

关于iPhone - AVAudioPlayer、kAudioSessionCategory_AmbientSound 和 iPod 音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/872001/

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