Загрузка двоичного файла с использованием QT - PullRequest
2 голосов
/ 17 июня 2011

Я новичок в программировании на QT, и одному из моих инструментов нужна функция для получения аудио перевода текстовой строки с помощью API Google Translate. Самым простым решением было использование специального URL Google (http://translate.google.com/translate_tts?tl=en&q="...my). строка ... "). Используя инструмент wget, мы сделали это следующим образом:

cd google_has_you &&  wget -m -k -U "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.8" "http://translate.google.com/translate_tts?tl=en&q=in+soviet+russia+games+plays+you"

и затем я переименовал загруженный файл в test.mp3, чтобы проверить аудио перевод

teddy@Desktop:~/google_has_you/translate.google.com$ mv * test.mp3

У меня вопрос, как это сделать с помощью Qt, то есть как загрузить двоичный файл (mp3) с URL: http://translate.google.com/translate_tts?tl=en&q=" + мой текст, а затем воспроизвести скачанный файл с помощью Phonon.

1 Ответ

1 голос
/ 17 июня 2011

Вы можете использовать QNetworkAccessManager, чтобы загрузить файл, а затем воспроизвести его, передав путь к локальному файлу к медиа-источнику Phonon, или разрешив Phonon его потоковую передачу. Фрагмент кода (url является QUrl) (все в стеке, потому что я скопировал его из main ()):

MediaSource src( url );
MediaObject obj;
obj.setCurrentSource( src );
AudioOutput audio( VideoCategory );
Phonon::createPath( &obj, &audio );
obj.play();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...