iPhone:屏幕关闭时背景音乐停止,屏幕开启时不会继续播放?
问题描述:
我有一个音乐文件,在我的应用程序运行时在后台运行(不停止)。这是我的要求。但是当我的应用程序正在运行时,按照设置的自动锁定时间屏幕熄灭,音乐被覆盖。然后当再次开启屏幕时,我的应用程序即将到达,但音乐无法启动。这是一个已知的错误吗? (或)如何让屏幕开启通知,以便我可以再次播放音乐。 (或)如何解决它?iPhone:屏幕关闭时背景音乐停止,屏幕开启时不会继续播放?
我用这个代码总是播放音乐... - (无效){PlayLoopMusic
NSString* path;
NSURL* url;
path = [[NSBundle mainBundle] pathForResource:@"music" ofType:@"mp3"];
url = [NSURL fileURLWithPath:path];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
[player prepareToPlay];
//[player setVolume: 0.50];
player.numberOfLoops = -1;
[player setDelegate: self];
[player play];
} 谢谢。
答
除了莫里恩的回答是:
您可以通过以下调用禁用自动锁屏:
[UIApplication sharedApplication].idleTimerDisabled = YES;
您也可以确保播放的推移而屏幕被手动锁定。为此,你必须创建一个AudioSession:
AudioSessionInitialize(NULL, NULL, audioInterruptionListener, NULL);
UInt32 category = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(category), &category);
AudioSessionSetActive(YES);
audioInterruptionListener应该是处理时(来电时为例)音频播放中断的情况下,一个功能。你可以阅读更多关于这个here。