使用QT下载二进制文件

时间:2011-06-17 17:59:22

标签: qt file download translation

我是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下载播放。

1 个答案:

答案 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();