1

iPadに接続されたBluetoothキーボードで音楽の再生/一時停止ボタンが押されたことを検出したい。キーボードは「ACTECK FT-850」。

このメソッドを使用して、他のボタンを検出しています。

-(NSArray * ) keyCommands
{

if ([[[UIDevice currentDevice] systemVersion] intValue] !=7) return nil;

UIKeyCommand *Letter = [UIKeyCommand keyCommandWithInput: @"a" modifierFlags: 0 action: @selector(Letter:)];

UIKeyCommand *upArrow = [UIKeyCommand keyCommandWithInput: UIKeyInputUpArrow modifierFlags: 0 action: @selector(upArrow:)];

    return [[NSArray alloc] initWithObjects: upArrow, Letter,nil];
}

- (void) Letter: (UIKeyCommand *) keyCommand
{
        NSLog(@"LETRA A");
}

- (void) upArrow: (UIKeyCommand *) keyCommand
{
        NSLog("Do something");
}

- (BOOL)canBecomeFirstResponder {
    return YES;
}

それは完全に機能しますが、KeyCommandWithInput「再生/一時停止」音楽ボタンを検出するためにどの文字oコマンドを入力したのかわかりません...私はすでにこれも試しています:

-(void)viewDidAppear:(BOOL)animated
{
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}

- (void)remoteControlReceivedWithEvent:(UIEvent *)theEvent
{
    NSLog(@"ENTER TO REMOTE CONTROL");
    if (theEvent.type == UIEventTypeRemoteControl) {
        switch(theEvent.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:

                NSLog(@"SE TOCO EL BOTON PLAY/PAUSE");

            case UIEventSubtypeRemoteControlPlay:

                NSLog(@"SE TOCO EL BOTON PLAY");

                break;
            default:
                return;
        }
    }
}

しかしremoteControlReceivedWithEvent、ボタンを押しても呼び出されません。

私を助けてください。

4

1 に答える 1

0

これは同じ質問で、より多くの答えがありますが、解決策は限られていると思います!

1- iPhone の Bluetooth 応答/通話終了ボタンを検出する

2 -IOS7で接続されたBluetoothイヤホンのアクションを取得します

私の調査の時点で、「remoteControlReceivedWithEvent」を介してブルートゥース デバイスから何らかのイベントを受信した人がいますが、すべてではありません。あなたや私のような人は何も受け取っていません!そして、このコメントに従ってすべてのテーマを受け取っている人はほとんどいません(上記のリンクのコメントの1つから、「私の音楽アプリは上記のコードを介してBluetoothイヤホンで完全に制御できるため、それも適用できるはずです.」 !)

Core Bluetooth も試してみましたが、LEB (Low Energy Bluetooth devices) しかサポートしていません! https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothOverview/CoreBluetoothOverview.html#//apple_ref/doc/uid/TP40013257-CH2-SW1

また、「Low Energy」の代わりに Classic bleutooth を使用できることを示唆する投稿もあります 。 for iphone" ?!?!?!)

上記の投稿から: 「LE 以外の Bluetooth デバイスを外部アクセサリ フレームワークで使用するには、MFi 承認を受ける必要があります (特定の Apple チップと独自の通信プロトコルを使用する必要があります)。ビルドすることはできません。よりオープンな Bluetooth LE を使用するか、標準の Bluetooth 用にこのチップを搭載していない限り、アプリケーションはこのデバイスにアクセスできません。ジェイルブレイクを介してこれを行う方法はあるかもしれませんが、私が知っているほとんどの人は Bluetooth LE に移行しています。」!

もっと投稿: iOS から Bluetooth デバイスに接続、MFi なし

よろしく。

于 2014-11-07T20:51:00.883 に答える