2016-04-18 4 views

答えて

0

MirrorLinkのCommonAPIサービスは、IDeviceStatusListenerのonMicrophoneStatusChangedメソッドを呼び出します。 引数がtrueの場合はマイクが開いていて、閉じていた場合はfalseです。

一般的でCommonAPI:CommonAPIのAndroidのバージョンのためのhttps://causeway.carconnectivity.org/wg/DevWG/document/1989 Javaのドク:https://causeway.carconnectivity.org/wg/DevWG/document/2119

例:

IDeviceStatusListener devStatusListener = new IDeviceStatusListener.Stub() { 
    @Override 
    public void onDriveModeChange(boolean isDriving) throws RemoteException {  } 

    @Override 
    public void onNightModeChanged(boolean isNight) throws RemoteException { } 

    @Override 
    public void onMicrophoneStatusChanged(boolean micActive) throws RemoteException { 
     if (micActive) { 
      //do s.th. great with the microphone input 
     } else { 
      //stop your recording or so 
     } 
    } 
}; 

そして、あなたはあなたのCommonAPIサービスacccessを設定する場合は、リンクすることを忘れないでくださいリスナーからサービスへ:

devStatMng = commonapiService.getDeviceStatusManager(packagename, devStatusListener); 
+0

setMicrophoneOpen()APIとボイスボタンのクリックを区別したいどちらもマイクのステータスがコールバックに変更されます – user2341779

+0

私はこれが内部ステートマシンで最もうまくいくと思います。 setMicOpenが呼び出され、onMicStatusChange(true)が来たら=>それはsetMicOpenメソッドです。それ以外の場合は、外部マイクのオープンコールでした。 –