1

我正在为 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 不会停止播放吗?

谢谢...法比奥

4

2 回答 2

2

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

于 2009-07-01T13:44:43.340 回答
0

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

于 2009-07-01T11:47:54.650 回答