вы можете легко играть пауза остановить 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];
}
}
Надеюсь, что это, в конце концов, соответствует вашим потребностям!
см., Я слушаю музыку, я запускаю свои приложения, он должен прекратить воспроизведение, но начать воспроизведение автоматически, когда я нажимаю на экран, – Ali
Вы хотите приостановить все воспроизведение, которое вы начали? или вы имеете в виду музыку iPod.app? –
да, я могу приостановить все воспроизведения, используя вышеприведенный трюк, но не могу его возобновить. – Ali