我是iOS新手,我正在尝试使用objective-c构建应用。我遇到的问题是,当屏幕被锁定时,我无法显示音频控件。
我正在使用AVPlayer播放音频。
在viewDidLoad中我正在调用此方法
- (void)screenLocked{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(appDidEnterBackground:)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
}
并且该方法称之为
- (void)appDidEnterBackground:(NSNotification *)notification {
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
MPRemoteCommandCenter *remoteCommandCenter = [MPRemoteCommandCenter
sharedCommandCenter];
[[remoteCommandCenter playCommand] addTarget:self
action:@selector(test)];
[[remoteCommandCenter skipForwardCommand] addTarget:self
action:@selector(test)];
[[remoteCommandCenter skipBackwardCommand] addTarget:self
action:@selector(test)];
[[remoteCommandCenter togglePlayPauseCommand] addTarget:self
action:@selector(test)];
[[remoteCommandCenter pauseCommand] addTarget:self
action:@selector(test)];
}
- (void)test{
NSLog(@"Logging");
}
当我在模拟器中运行应用程序并将屏幕锁定为我的沮丧时,不会出现任何控件。任何帮助,将不胜感激。
答案 0 :(得分:0)
事实证明问题是我的应用程序没有配置为在后台播放音频。我没有意识到这一点,因为在模拟器中我的应用程序在后台播放音乐就好了。但是,当我在我的实际手机上运行我的应用程序时,它在屏幕锁定时无法播放。
所以我必须在项目的功能选项卡下启用背景音频,并在viewDidLoad中添加此代码
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
此外,音频控件似乎根本不会出现在我的模拟器上。