2013-03-07 35 views
0

這是this類似的問題。但我仍然無法弄清楚該怎麼做。遙控事件控制播放

所以,我有一個類似於ipod的tabbar應用程序。一個視圖控制器是「正在播放」視圖控制器,它是在索引1視圖控制器所以,在VC,我有:

- (void)viewDidAppear:(BOOL)animated 
{ 
    // Turn on remote control event delivery 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    // Set itself as the first responder 
    [self becomeFirstResponder]; 
} 

- (BOOL)canBecomeFirstResponder 
{ 
    return YES; 
} 

- (void)remoteControlReceivedWithEvent:(UIEvent *)event 
{ 
    NSLog(@"Where is my event?"); 
    if(event.type == UIEventTypeRemoteControl) 
    { 
     switch (event.subtype) { 
      case UIEventSubtypeRemoteControlTogglePlayPause: 
       NSLog(@"Pause"); 
       break; 
      case UIEventSubtypeRemoteControlNextTrack: 
       NSLog(@"Next"); 
       break; 
      case UIEventSubtypeRemoteControlPreviousTrack: 
       NSLog(@"Prev"); 
       break; 
      default: 
       NSLog(@"SOMETHING WAS CLICKED"); 
      break; 

     } 
    } 
} 

我沒有收到遠程點擊無論是在耳機的任何事件或在雙主頁按鈕上單擊快捷方式。我在一個真正的iPhone上運行,而不是在模擬器中運行。我正在使用AVQueuePlayer(正在播放)來管理我的媒體。

回答

0

我只是推到一切的AppDelegate中和告訴AppDelegate中調用到ViewController告訴它做什麼,它工作得很好。把它放在AppDelegate中是不是很好的做法?