私はいくつかのコマンドをアンドロイドのデフォルトのボイスメールアプリケーションに追加しようとしています。それは、オープン、ダイヤル、コール、リダイヤルなどのようなコマンドを含んでいます。私はそれに 'Find'と言うことができます。私はhereからソースコードをダウンロードし、Eclipseでコンパイルしました。このアプリケーションは、CALL JOHN音声コマンドで名前が認識されたときにインテントを生成するために、連絡先リストに人の名前と電話番号を格納するように、これらのコマンドの引数として文法を設定します。このコマンドのCALLでは、結果として得られる認識された文字列の最初の単語と "CALL"を単に比較します。デフォルトのVoiceDialer Appに文法を追加するには?
下図のように私はonRecognitionSuccess()関数内であれば、他の余分な条件として「FIND」を追加しました:
public class CommandRecognizerEngine extends RecognizerEngine
{
............
protected void onRecognitionSuccess(RecognizerClient recognizerClient) throws InterruptedException
{
.....................
if ("DIAL".equalsIgnoreCase(commands[0]))
{
Uri uri = Uri.fromParts("tel", commands[1], null);
String num = formatNumber(commands[1]);
if (num != null)
{
addCallIntent(intents, uri, literal.split(" ")[0].trim() + " " + num, "", 0);
}
}
................
else if ("FIND".equalsIgnoreCase(commands[0]))
{
if (Config.LOGD)
Log.d(TAG, "FIND detected...");
}
}//end onRecognitionSuccess
}//end CommandRecognizerEngine
が、私のアプリはそれを認識することはできません。認識者はOPENやCALLなどのコマンドを検出したり、適切なドキュメントを参照したりする方法を知っていますか?
ありがとうございました。
誰でも手伝いできますか?ありがとうSeniorA。 – shaffooo