簡體   English   中英

在IOS中,兩個視圖一個視圖顯示詳細信息,另一個視圖正在播放音樂,當我們處於第一個視圖時,鎖定屏幕控件不起作用

[英]In IOS Two views one view displays details other view is playing music Lock screen controls are not working when we are in first view

在IOS中有兩個視圖。嵌入在導航控制器中的第一個視圖在單擊任何元素時顯示詳細信息(TableView),第二個視圖播放特定歌曲的音樂。在第二個視圖中,並且應用移至鎖定屏幕播放控件的背景時,但是在播放音樂時,我先移至第一視圖,然后在鎖定屏幕中播放控件不起作用。

我正在使用的代碼在SecondViewController中

  -(void)viewWillAppear:(BOOL)animated
    {

     [super viewWillAppear:animated];
     [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
              [self becomeFirstResponder];
    }

在viewDidLoad中

     AVAudioSession *sharedAVSession = [AVAudioSession sharedInstance];

        if ([utils getOSVersion] >= 6.0)
        {
            NSLog(@"AV - going through notification path");
            [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleAVASInterruption:) name:AVAudioSessionInterruptionNotification object:nil];
        }

  NSError *err;
          [sharedAVSession setActive:YES withOptions:AVAudioSessionInterruptionOptionShouldResume error:&err];

壓倒一切

- (BOOL)canBecomeFirstResponder {
    return YES;
}

- (void)remoteControlReceivedWithEvent:(UIEvent *)event {

    NSLog(@“REMOTE EVENT!");

    if ( event.type == UIEventTypeRemoteControl) {

        switch (event.subtype) {

            case UIEventSubtypeRemoteControlTogglePlayPause:

                break;



            case UIEventSubtypeRemoteControlPreviousTrack:

                [self goToPreviousTrack];

                break;



            case UIEventSubtypeRemoteControlNextTrack:

                [self goToNextTrack];

                break;



            case UIEventSubtypeRemoteControlPlay:

                NSLog(@"in UIEventSubtypeRemoteControlPlay");

                [self resumeMusic];

                break;



            case UIEventSubtypeRemoteControlPause:

                NSLog(@"in UIEventSubtypeRemoteControlPause ");

                [self pauseClicked];

                break;



            case UIEventSubtypeRemoteControlStop:

                // TODO

                break;



            default:

                break;

        }

    }

}

請幫助我。謝謝

查看viewWillDisappear中的代碼。 是否關閉監聽遠程控制事件? 在這種情況下,這就是您切換到另一個視圖時發生的情況。

如果不存在該視圖,則需要確保音頻播放器在附近;該視圖消失時,該視圖不會停止監聽遠程事件;如果遠程事件到達,則該視圖可以正確響應。

這可能包括確保視圖控制器保持活動狀態。 這可能意味着您必須確保在切換到另一個視圖時不會釋放它,並且在切換回播放器視圖時不會創建新的視圖控制器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM