1

kAudioSessionProperty_OtherAudioIsPlaying 私はできる限り多くの異なる例に従いましたが、そのほとんどは Apple のドキュメントにありますが、デバイスで常に肯定を返す理由がわかりません。

セッションを初期化してアクティブにしましたが、音楽を一時停止すると陽性が返されます。

これが私のコードです:

- (void)viewDidLoad
{
    [super viewDidLoad];

    AVAudioSession* session = [AVAudioSession sharedInstance];

    NSError *activationError = nil;
    BOOL success = [session setActive: YES error: &activationError];
    if (!success) { NSLog(@"%@", activationError); }

    UInt32 otherAudioIsPlaying;
    UInt32 propertySize = sizeof (otherAudioIsPlaying);

    AudioSessionGetProperty (
                             kAudioSessionProperty_OtherAudioIsPlaying,
                             &propertySize,
                             &otherAudioIsPlaying
                             );

    if (otherAudioIsPlaying) {
        [session setCategory: AVAudioSessionCategoryAmbient error: nil];
    } else {
        [session setCategory: AVAudioSessionCategorySoloAmbient error: nil];
    }
}

私は何を間違っていますか?

4

1 に答える 1

1

私は同じ問題を抱えていましたが、次のようにプロパティをチェックする前に AVAudiosession がインスタンス化されていることを確認することで修正できました。

AVAudioSession *session = [AVAudioSession sharedInstance];

他のオーディオが再生される前にチェックを試みる前に、これが発生していることを確認してください。正常に動作するはずです:)

于 2013-09-12T14:05:50.430 に答える