Как я могу сохранить мой вывод Android TTS в файл WAV? - PullRequest
8 голосов
/ 15 марта 2012

Я искал почти везде, пытаясь найти способ сохранить мой вывод Android TTS в аудиофайл. Я посмотрел на эти сообщения:

но не смог найти / понять ответы. Я использую synthesizeToFile() так:

HashMap<String, String> myHashRender = new HashMap<String, String>();
myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, result);
String fileName = "/Android/data/com.android.voicelanglearning.vll/ttsfile1.wav";
tts.synthesizeToFile(result, myHashRender, fileName);

Итак, я пересылаю тот же вопрос. Любая помощь очень ценится.

Спасибо, Мауник

Ответы [ 3 ]

4 голосов
/ 15 марта 2012

Важным методом является synthesizeToFile. Он запишет аудио в файл на указанном вами устройстве. Затем вы можете воспроизвести этот файл с помощью MediaPlayer или вы можете вытащить его с устройства на свою систему разработки с помощью инструмента командной строки adb, используя команду

adb pull <path-to-file>
0 голосов
/ 19 декабря 2013

Возможно, это не работает на реальных устройствах. Проблема может быть в том, что вы тестируете реальное устройство с USB-кабелем, подключенным к компьютеру, в режиме отладки. Это может быть отключение сохранения файлов на телефон.

Environment.getExternalStorageDirectory ()

Возвращает основной каталог внешнего хранилища. Этот каталог в настоящее время может быть недоступен, если он был смонтирован пользователем на его компьютере, удален с устройства или возникла другая проблема. Вы можете определить его текущее состояние с помощью getExternalStorageState ().

0 голосов
/ 04 апреля 2012

TextToSpeech.synthesizeToFile () не работает на реальных устройствах.Он работает только в AVD.

Я тоже экспериментировал с этим, используя как оригинальный движок Pico TTS, так и сторонний движок TTS, пытаясь записать данные либо на SD-карту, либо во внутреннюю память (на корневойустройство):

context.getDir("soundfiles", Context.MODE_WORLD_WRITEABLE);

Но, как вы заметили, метод возвращает TextToSpeech.SUCCESS без фактического создания файла.

Если необходимо записать выходные данные TTS в файл WAV, подключитеподключите гарнитуру к вспомогательному входу звуковой карты на вашем ПК и используйте любое записывающее программное обеспечение для захвата.

...