2015-10-08 30 views
0

我正在開發一個應用程序,通過藍牙將互聯網收音機流式傳輸到我的車載收音機。所有聲音相關和遠程控制的東西的作品,但我有一個問題發送元數據到我的汽車收音機「Bolero斯柯達一些阿爾派OEM」。當我發送元數據時,它被髮送到收音機,但沒有顯示在顯示屏上,但是如果我在汽車收音機上按下「|| PAUSE」併發送元數據,那麼我錯過了什麼? 我猜我的一些問題是我使用了一個永不結束的流,但必須有一個解決方法。Android藍牙元數據不能在汽車收音機上工作

車載收音機正在運行AVRCP 1.3。 Android CM11 - 4.4.4

+0

你找到了一個解決方案?我正在尋找相同的東西。 – Mal

回答

0

是的,對不起! 這就是:

RemoteControlClient mRemoteControlClient = null; 

protected void onCreate(Bundle savedInstanceState) { 
... 

PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(), 0, i, 0); 
mRemoteControlClient = new RemoteControlClient(pi); 

mAudioManager.registerRemoteControlClient(mRemoteControlClient); 

int flags = RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS 
       | RemoteControlClient.FLAG_KEY_MEDIA_NEXT 
       | RemoteControlClient.FLAG_KEY_MEDIA_PLAY 
       | RemoteControlClient.FLAG_KEY_MEDIA_PAUSE 
       | RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE 
       | RemoteControlClient.FLAG_KEY_MEDIA_STOP 
       | RemoteControlClient.FLAG_KEY_MEDIA_FAST_FORWARD 
       | RemoteControlClient.FLAG_KEY_MEDIA_REWIND; 
mRemoteControlClient.setTransportControlFlags(flags); 
mRemoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING); 

... 
} 


private void notifyChange() 
{ 
    Thread meta = new Thread(new Runnable() 
    { 
     public void run() 
     { 
      mRemoteControlClient 
       .editMetadata(true) 
       .putString(MediaMetadataRetriever.METADATA_KEY_TITLE, Get_Station()) 
       .putString(MediaMetadataRetriever.METADATA_KEY_ARTIST, Get_Comment()) 
       .putLong(MediaMetadataRetriever.METADATA_KEY_DURATION, 3000) 
       .apply(); 
     } 
    }); 
    meta.start(); 

    try { 
     meta.join(); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 
}