Putar audio berulang-ulang di MPMoviePlayerController

Saya harus memutar dua file audio secara berurutan. Saya memiliki file umum yang mengatakan: "Nama saya"

lalu ikuti file audio lain yang memiliki string audio lain.

Misalnya: katakanlah a.mp3 berisi "Nama saya" b.mp3 berisi "John"

Tetapi ketika saya menyetel contentURL dari MPMoviePlayerController. Ini melewatkan audio pertama dan memutar audio kedua.

Ini kode saya:

- (void) playPromptAudio
{[appDelegate.globalPlayer setContentURL:[NSURL 
             URLWithString:@"http://localhost/a.mp3"]];

    [appDelegate.globalPlayer prepareToPlay];
    [appDelegate.globalPlayer play];

    while (appDelegate.globalPlayer.playbackState == MPMoviePlaybackStatePlaying ) {
        // dirty hack, do gracefully
        // do nothing
    }

    [appDelegate.globalPlayer setContentURL:[NSURL URLWithString:@"http://localhost/b.mp3"]];
        [appDelegate.globalPlayer prepareToPlay];
    [appDelegate.globalPlayer play];
}

Namun saat saya menjalankan kodenya, hanya "John" yang diputar.

Setelah men-debug kode, saya melihat audio mulai diputar setelah menjalankan seluruh fungsi sehingga jelas bahwa "John" diputar sejak disetel terakhir. Namun adakah cara untuk mencegah perilaku ini?


person krammer    schedule 26.04.2012    source sumber


Jawaban (1)


Coba tautan ini untuk memutar MPMoviePlayerController

Kode di bawah ini Mainkan MpMoviePlayer dengan nodifikasi:

        NSURL *url = [NSURL fileURLWithPath:filePath isDirectory:NO];
        self.moviePlayer = [[[MPMoviePlayerController alloc] initWithContentURL:url]
                    autorelease];
        moviePlayer.shouldAutoplay = NO;
        moviePlayer.view.frame = view_video.bounds;
        moviePlayer.scalingMode= MPMovieScalingModeFill;
        moviePlayer.controlStyle =MPMovieControlStyleNone;
        [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self 
                                                 selector:@selector(doneButtonClick:) 
                                                     name:MPMoviePlayerPlaybackDidFinishNotification 
                                                   object:nil];
        [moviePlayer Play]; 

fungsi di bawah ini disebut Pemutaran MpMovieplayerController selesai:

     -(void)doneButtonClick:(NSNotification*)aNotification{
        NSLog(@"MPMoviePlayer is finished..!");
     }

Terima kasih....!

person Dinesh    schedule 26.04.2012