应用程序在启动时关闭播放音乐

时间:2011-11-04 12:35:36

标签: iphone objective-c ios

我已将我的应用音频会话设置为ambientsound, 当我第一次推出应用程序时,她只是杀了音乐。 我不希望这种情况发生。 还有其他方法可以设置吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

激活音频会话:

OSStatus activationResult = NULL;
result = AudioSessionSetActive (true);

测试是否正在播放其他音频

UInt32 otherAudioIsPlaying;                                   // 1
UInt32 propertySize = sizeof (otherAudioIsPlaying);

AudioSessionGetProperty (                                     // 2
    kAudioSessionProperty_OtherAudioIsPlaying,
    &propertySize,
    &otherAudioIsPlaying
);

if (otherAudioIsPlaying) {                                    // 3
    [[AVAudioSession sharedInstance]
                    setCategory: AVAudioSessionCategoryAmbient
                          error: nil];
} else {
    [[AVAudioSession sharedInstance]
                    setCategory: AVAudioSessionCategorySoloAmbient
                          error: nil];
}

如果是,则允许混合

OSStatus propertySetError = 0;
UInt32 allowMixing = true;
propertySetError = AudioSessionSetProperty (
                       kAudioSessionProperty_OverrideCategoryMixWithOthers,  // 1
                       sizeof (allowMixing),                                 // 2
                       &allowMixing                                          // 3
                   );

来源:http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Cookbook/Cookbook.html