我是QT编程的新手,我的一个工具需要一个功能来使用google translate api获取文本行的音频翻译。最简单的解决方案是使用特殊的URL Google( http://translate.google.com/translate_tts?tl=en&q=“ ......我的字符串......“)。 使用wget工具a通过这种方式做到了:
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):http://translate.google.com/translate_tts?tl=en&q=“+我的文字,然后使用Phonon下载播放。
答案 0 :(得分:1)
您可以使用QNetworkAccessManager下载文件,然后通过将路径传递到本地文件到Phonon媒体源来播放它,或者让Phonon对其进行流式传输。 代码片段(url是一个QUrl)(堆栈上的所有东西,因为我从main()复制它):
MediaSource src( url );
MediaObject obj;
obj.setCurrentSource( src );
AudioOutput audio( VideoCategory );
Phonon::createPath( &obj, &audio );
obj.play();