Android TextToSpeech Earcons не играет - PullRequest
0 голосов
/ 22 января 2019

У меня есть приложение, в котором пользователь может использовать наушники. Это работало с более старым API (протестировано с версией 15 на Samsung S2) Я обновил до последней версии API (minSdkVersion 21, targetSdkVersion 28) Я обновил все устаревшие API. Я ставлю в очередь наушник, но он никогда не играет:

Код инициализации

mTTS = new TextToSpeech(context, onInitListener);
mParams = new Bundle();
mParams.putLong(TextToSpeech.Engine.KEY_PARAM_STREAM, AudioManager.STREAM_NOTIFICATION);

OnInitListener

int rc;
for (String key: mSounds.keySet()) {
  File f = new File(mSounds.get(key));
  if (!f.canRead() {
    PersistLog.w(TAG, "Can't read earcon:" + f.getAbsolutePath());
  } else {
    rc = mTTS.addEarcon(key, f);
  }     
}
mTTS.setOnUtteranceProgressListener(ProgressListener)

Существует ключ: "test" , указывающий на файл mp3.

Некоторые Сервисный код:

{
  int rc;
  rc = mTTS.speak("Begin Test", TextToSpeech.QUEUE_ADD, mParams, "Txt");
  rc = mTTS.playSilentUtterance(2000, TextToSpeech.QUEUE_ADD, "Delay");
  rc = mTTS.playEarcon("test", TextToSpeech.QUEUE_ADD, mParams, "Earcon")
  rc = mTTS.speak("End Test", TextToSpeech.QUEUE_ADD, mParams, "Txt");
}

ProgessListener - регистрирует сообщения о методах onStart и onDone.

Когда я выполняю код (Andoid 8 на Samsung S7), я получаю все коды возврата успеха для функций addEarCon, speek, playSilentUtteracnce и playEarcon. Прослушиватель прогресса показывает обработку (Start, Stop) «Txt», «Delay», «Txt» Задержка сработала правильно. Но наушник не играл.

Есть идеи?

...