ユーザーがmirrorlinkモードでcarkitの音声コントロールをクリックすると、apiがtrigerredされます。mirrorlink共通のapiの音声ボタンのクリックを知る方法common api
ステアリングに搭載された音声制御ボタンをクリックしたとします。このイベントをミラーリンクアプリでキャプチャするにはどうすればいいですか?
ユーザーがmirrorlinkモードでcarkitの音声コントロールをクリックすると、apiがtrigerredされます。mirrorlink共通のapiの音声ボタンのクリックを知る方法common api
ステアリングに搭載された音声制御ボタンをクリックしたとします。このイベントをミラーリンクアプリでキャプチャするにはどうすればいいですか?
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);
setMicrophoneOpen()APIとボイスボタンのクリックを区別したいどちらもマイクのステータスがコールバックに変更されます – user2341779
私はこれが内部ステートマシンで最もうまくいくと思います。 setMicOpenが呼び出され、onMicStatusChange(true)が来たら=>それはsetMicOpenメソッドです。それ以外の場合は、外部マイクのオープンコールでした。 –