2013-10-31 47 views
0

我有一個通過流媒體播放音樂的iOS應用程序,它在iPhone中很棒。但我在iPad上遇到問題。 我的問題是,在播放歌曲時,屏幕自動鎖定當前歌曲正在播放但未播放下一首歌曲。如果我手動鎖定設備,則下一首歌曲播放正確。 我在執行audioPlayerDidStartPlaying委託時記錄日誌,所以我知道它已被執行,但我什麼也聽不到。 我從iPad的日誌中得到了這個。當設備自動鎖定時,AVPlayer不能在iPad上工作

Oct 31 13:48:41 mediaserverd[1891] <Notice>: 13:48:41.634 NOTE:  [0x4150000] <aqme> MEMixerChannel.cpp:777: EnableProcessor: EQ not supported for 2e+04 Hz 
Oct 31 13:48:44 mediaserverd[1891] <Notice>: 13:48:44.331 NOTE:  [0x4150000] <aqme> MEMixerChannel.cpp:777: EnableProcessor: EQ not supported for 2e+04 Hz 
Oct 31 13:48:44 mediaserverd[1891] <Warning>: 13:48:44.334 [0x4150000] TranslateCMSessionErrorCode: AudioSessionSetClientPlayState: WARNING translating CMSession error: -16980 
Oct 31 13:48:44 mediaserverd[1891] <Error>: 13:48:44.335 ERROR:  [0x4150000] AQServer.cpp:150: SetSessionPlayState: AudioQueue: Error '!pla' from AudioSessionSetClientPlayState(0x76358a) 

我有我的應用程序委託:

NSError *sessionError = nil; 
[[AVAudioSession sharedInstance] setActive:YES error:NULL]; 
[[AVAudioSession sharedInstance] setDelegate:self]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError]; 

// Change the default output audio route 
UInt32 doChangeDefaultRoute = 1; 
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, 
          sizeof(doChangeDefaultRoute), &doChangeDefaultRoute); 

而且我在Info.plist文件中定義的「所需的背景模式」屬性設置爲「應用程序播放音頻」。

在iPhone正常工作,所以任何想法是我的問題在哪裏?

在先進的感謝,

回答

1

嘗試註冊用於遠程控制的事件......

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

雖然似乎有什麼用它做它不中,AVPlayer等球員狀態似乎如果您的應用程序未獲取遙控器,則播放失敗。

在您的應用程序委託,響應遙控器通過這樣的事情:

-(void)remoteControlReceivedWithEvent:(UIEvent *)event 
{ 
    switch(event.subtype) 
    { 
     case UIEventSubtypeRemoteControlPause: 
      [self pause]; 
      break; 
     case UIEventSubtypeRemoteControlPlay: 
      [self play]; 
      break; 

    } 
} 
相關問題