2011-06-15 2 views
0

Я использую AudioPlayer, чтобы остановить все воспроизведения, так как код даетсяя могу остановить воспроизведение с помощью моего приложения

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]]; 

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

if (audioPlayer == nil) 
    NSLog([error description]);    
else 
    [audioPlayer play]; 

Но я могу остановить все воспроизвести с помощью этого, но не может играть снова останавливали играть спину. Как я могу это сделать, пожалуйста, помогите

ответ

3

вы можете легко играть пауза остановить AVAudioPlayer с этими тремя методами:

- (void)pause 
- (void)stop 
- (BOOL)play //Returns YES on success, or NO on error. 

Если пауза, вы можете играть, чтобы возобновить, где вы замолчала.

Надеюсь, это поможет, я действительно не вижу, где ваша проблема!


в коде, вы дали, вы не останавливаясь, вы просто играть его с numberOfLoops отрицательным. Вы должны иметь метод, чтобы начать свою музыку так:

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]]; 

NSError *error; 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; 
audioPlayer.numberOfLoops = 0;//play once 

if (audioPlayer == nil) 
    NSLog([error description]);    
else 
[audioPlayer prepareToPlay];   
[audioPlayer play]; 

И еще для приостановки:

[audioPlayer pause]; 

И еще для возобновления:

[audioPlayer play]; 

Для переключения IPOD музыки, когда приложение запускается и выходит за пределы этих двух методов:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    MPMusicPlayerController  *musicPlayer; 
    MPMusicPlaybackState playbackState = [musicPlayer playbackState]; 
    if (playbackState == MPMusicPlaybackStatePlaying) { //simple verification 
     [musicPlayer pause]; 
    } 
} 

- (void)applicationWillResignActive:(UIApplication *)application 

    if (playbackState == MPMusicPlaybackStateStopped || playbackState == MPMusicPlaybackStatePaused) {//simple verification 
     [musicPlayer play]; 
} 
    } 

Надеюсь, что это, в конце концов, соответствует вашим потребностям!

+0

см., Я слушаю музыку, я запускаю свои приложения, он должен прекратить воспроизведение, но начать воспроизведение автоматически, когда я нажимаю на экран, – Ali

+0

Вы хотите приостановить все воспроизведение, которое вы начали? или вы имеете в виду музыку iPod.app? –

+0

да, я могу приостановить все воспроизведения, используя вышеприведенный трюк, но не могу его возобновить. – Ali

Смежные вопросы