我可以在iPhone睡觉时播放声音吗?

时间:2011-03-09 17:25:45

标签: iphone objective-c xcode media avaudioplayer

当iPhone正在睡觉时,如何播放自定义的循环声音(来自我的应用,而我的应用是打开的)?

我正在使用此代码播放音频文件:

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"sample_name" ofType:@"wav"];
NSData *sampleData = [[NSData alloc] initWithContentsOfFile:soundFilePath];
NSError *audioError = nil;

// Set up the audio player
testAudioPlayer = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError];
[sampleData release];

if(audioError != nil) {
    NSLog(@"An audio error occurred: \"%@\"", audioError);
}
else {
    [testAudioPlayer setNumberOfLoops: -1];
    [testAudioPlayer play];
}

但如果iPhone正在睡觉,它就无法播放。

Pandora以及其他类似的应用程序具有此功能。

2 个答案:

答案 0 :(得分:2)

如果您在手机进入睡眠状态时播放声音,您将继续像Pandora和其他人一样在后台运行。

如果您在用户将设备置于睡眠状态时没有播放声音,您将被暂停。

这个苹果文档的答案中有一个参考。 Play sound with screen turned off / don't let iPhone go to sleep

答案 1 :(得分:0)

尝试注册本地通知。