锁定屏幕音频控制ios

时间:2017-07-21 21:41:30

标签: ios objective-c xcode ios-simulator

我是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");
}

当我在模拟器中运行应用程序并将屏幕锁定为我的沮丧时,不会出现任何控件。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

事实证明问题是我的应用程序没有配置为在后台播放音频。我没有意识到这一点,因为在模拟器中我的应用程序在后台播放音乐就好了。但是,当我在我的实际手机上运行我的应用程序时,它在屏幕锁定时无法播放。

所以我必须在项目的功能选项卡下启用背景音频,并在viewDidLoad中添加此代码

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

此外,音频控件似乎根本不会出现在我的模拟器上。