iPhone锁定时像iPod App一样继续播放音频

时间:2012-01-19 12:35:50

标签: ios objective-c audio playback lockscreen

即使用户锁定手机,我也需要继续播放。我在互联网上看到了一些解决方案,但它们似乎都没有用,例如:

AudioSessionSetActive(true);
    // Set up audio session, to prevent iPhone from deep sleeping, while playing sounds
    UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
    AudioSessionSetProperty (
                             kAudioSessionProperty_AudioCategory,
                             sizeof (sessionCategory),
                             &sessionCategory
                             );

我正在考虑AVFoundationAudioToolboxMediaPlayer

3 个答案:

答案 0 :(得分:5)

我终于想出了如何做到这一点!对于未来的googlers(如果SOPA和PIPA不会杀死谷歌,直到那时):

首先,将这些框架包含在您的项目中:AudioToolboxCoreAudioMediaPlayerAVFoundation。将它们全部导入到放置播放器的viewController中。分配并开始播放音频后,插入以下代码:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);
AudioSessionSetActive(true);

最后,转到您的应用Info.plist文件并添加名为UIBackgroundModes的行。新行将是一个数组,将包含1个项目,项目0.对此,您只需将值设置为audio。而且你已经完成了!享受你的背景音频播放应用程序!

答案 1 :(得分:0)

请参阅以下链接:

How to Continue Music Play after Screen Auto-Lock

Playing audio while iPhone is locked

how to play music using AVAudioPlayer when screen os locked

尝试

// Set up audio session, to prevent iPhone from deep sleeping, while playing sounds
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;

AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);

AudioSessionSetActive(true);

答案 2 :(得分:0)

如果您有一个播放列表,并且想要在后台模式或锁定模式下播放下一首歌曲,请在viewDidLoad上添加以下代码:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

这使该应用程序支持远程控制事件。