0

SDKiOSを使用して音楽をストリーミングするアプリケーションがあります。RadioKitタブ バー コントローラーのさまざまなビューを切り替えている間、オーディオは問題なく再生されますが、ヘッドセットが接続されていて、ユーザーがセカンダリ タブ ビューの 1 つを表示している場合 (合計 5 つ、アプリの起動時にプライマリ タブが 1 つ、その他のビューが 4 つ) ) 再生/一時停止ボタンを押しても、アプリはそのアクションを認識しません。再生中の場合は一時停止しません。一時停止中の場合は再生されません。ただし、アプリはヘッドセットからの音量変更を認識します。

この動作は、アプリが表示されている場合でも、バックグラウンドにある場合でも、デバイスがロックされている場合でも一貫しています。

私はいくつかの重い検索を行いましたが、これを理解できないようです。助けていただければ幸いです、ありがとう!

iOS バージョン 6.1.3
iOS SDK バージョン 6.1
xCode バージョン 4.6.3

4

1 に答える 1

1

あなたが聞きたい-(void)remoteControlReceivedWithEvent:(UIEvent *)event

base を作成し、それをUIViewController呼び出してBaseViewController、次を追加します。

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

    if (event.type == UIEventTypeRemoteControl) {

        switch(event.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:

                break;
            case UIEventSubtypeRemoteControlPlay:

                break;
            case UIEventSubtypeRemoteControlPause:

                break;
            case UIEventSubtypeRemoteControlStop:

                break;
            default:
                break;

        }
    }
    else{
        [super remoteControlReceivedWithEvent:event];
    }
}

また、基本クラスに以下を含めて、実際にリモート コントロール イベントを受信できるようにします。

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    UIApplication *application = [UIApplication sharedApplication];
    if ([application respondsToSelector:@selector(beginReceivingRemoteControlEvents)]) {
        [application beginReceivingRemoteControlEvents];
    }

    [self becomeFirstResponder];

}

最後に、すべての UIViewControllers を BaseViewController のサブクラスにします。

于 2014-04-28T08:26:58.650 に答える