屏幕淡出时,AVFoundation框架不会褪色

时间:2009-07-01 10:43:12

标签: iphone audio sleep

我正在为iPhone实施一些有声读物。我用过AVFoundation。像这样:

NSString *path = [[NSBundle mainBundle] pathForResource:@"intro" ofType:@"mp3"];
        player=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];

我有问题。当屏幕变暗(单个音频文件可能很长)时,音频停止播放。

我用这段代码解决了这个问题

- (void)applicationDidFinishLaunching:(UIApplication *)application {

    // something else here...

    [[UIApplication sharedApplication] setIdleTimerDisabled:YES];

}

这不允许iPhone“睡觉”。然而,你可以猜到这是多么愚蠢:你的电池电量在几分钟内就会下降,这是有声读物持续超过20小时无法实现的,例如......

那么,你知道一种方法可以防止屏幕睡眠时AVAudioPlayer没有停止播放吗?

...谢谢 法比奥

2 个答案:

答案 0 :(得分:2)

在屏幕锁定时,将您的音频会话设置为kAudioSessionCategory_MediaPlayback以进行播放。

答案 1 :(得分:0)

我可以建议您一旦开始播放音频文件,告诉用户按下将锁定手机的电源按钮(不是主页按钮)。它不会关闭你的应用程序,但它会在你在背景中运行的应用程序关闭屏幕。目前有几个应用程序这样做。