現在、電話がミュートされている場合でも短い音声を再生する必要があるアプリを開発しています。次のコードは、電話がミュートされていないときにオーディオを再生しますが、電話がミュートされているときはオーディオを再生しません。
コードは次のとおりです。
// set playback settings
self.audioSession = [AVAudioSession sharedInstance];
[self.audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
AudioSessionSetActive(true);
UInt32 property = kAudioSessionProperty_OtherMixableAudioShouldDuck;
AudioSessionSetProperty(kAudioSessionProperty_OtherMixableAudioShouldDuck, sizeof(property), &property);
OSStatus result = AudioSessionSetProperty(kAudioSessionProperty_OtherMixableAudioShouldDuck, sizeof(property), &property);
if (result) {
NSLog(@"error seting property");
}
// set sound file settings
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"baby_crying" ofType:@"mp3"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:soundFile], &soundId);
AudioServicesPlaySystemSound(soundId);
このコードの何が問題なのか教えてください。