0

ビューを切り替えると、音楽がバックグラウンドで再生され続け、アプリで問題ありません。しかし、ユーザーが最初のビューに戻ると、音楽が元のビューから再び開始されるため、ユーザーには音楽が 2 倍に聞こえます。サウンドが既に再生されているかどうかを確認するためのコードが既にいくつかありますが、機能しません。:(

何かご意見は?

 if (audioPlayer.playing == 0 ) {
    NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/CheeZeeLab.mp3", [[NSBundle mainBundle] resourcePath]]];

    NSError *error;
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    audioPlayer.numberOfLoops = 0;
    audioPlayer.volume = 1;
    [audioPlayer prepareToPlay];



    [audioPlayer stop];
    if (audioPlayer == nil)
        NSLog(@"werkt niet");
    else
        [audioPlayer play];    }
else{

    }
4

2 に答える 2

0

あなたの問題は、最初のビューに戻る方法にあると思います。

プッシュしている場合 (または、子から親にセグエを実行している場合... つまり、循環セグエ) は、親ビュー コントローラーの新しいインスタンスを作成しています。

そして、新しいインスタンスを作成すると、そのサウンドを再生する新しいバージョンのオーディオ プレーヤーが開始されます。

前のView Controllerに戻るには、ビューを適切にポップする必要があります。

于 2013-04-15T17:18:44.137 に答える