即使用户锁定手机,我也需要继续播放。我在互联网上看到了一些解决方案,但它们似乎都没有用,例如:
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
);
我正在考虑AVFoundation
,AudioToolbox
和MediaPlayer
。
答案 0 :(得分:5)
我终于想出了如何做到这一点!对于未来的googlers(如果SOPA和PIPA不会杀死谷歌,直到那时):
首先,将这些框架包含在您的项目中:AudioToolbox
,CoreAudio
,MediaPlayer
和AVFoundation
。将它们全部导入到放置播放器的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];
这使该应用程序支持远程控制事件。