IOS处理音乐播放中断实例

来源:互联网 发布:nodejs mysql建模 编辑:程序博客网 时间:2024/05/18 00:03

作者:朱克锋

邮箱:zhukefeng@iboxpay.com

转载请注明出处:http://blog.csdn.net/linux_zkf

此实例在打开关闭应用时候引发中断


- (BOOL) prepAudio

{

NSError *error;

NSString *path = [[NSBundlemainBundle] pathForResource:@"test"ofType:@"mp3"];

if (![[NSFileManagerdefaultManager] fileExistsAtPath:path])return NO;

self.player = [[AVAudioPlayeralloc] initWithContentsOfURL:[NSURLfileURLWithPath:path] error:&error];

self.player.delegate =self;

if (!self.player)

{

NSLog(@"Error: %@", [errorlocalizedDescription]);

returnNO;

}

[self.playerprepareToPlay];


returnYES;

}

//音乐播放完毕调用

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

{

[self.playerplay];

}

//中断到来调用

- (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player

{

[[NSUserDefaultsstandardUserDefaults] setFloat:[self.playercurrentTime] forKey:@"Interruption"];

}

//中断结束调用

- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player

{

[self.playerplay];

[[NSUserDefaultsstandardUserDefaults] removeObjectForKey:@"Interruption"];

}

- (void) viewDidLoad

{

[selfprepAudio];

//开始播放时查看是否有中断信息

if ([[NSUserDefaultsstandardUserDefaults] objectForKey:@"Interruption"])

{

self.player.currentTime = [[NSUserDefaultsstandardUserDefaults] floatForKey:@"Interruption"];

[[NSUserDefaultsstandardUserDefaults] removeObjectForKey:@"Interruption"];

}

[self.playerplay];

}


原创粉丝点击