2011-06-17 95 views
2

我是QT编程的新手,我的一个工具需要使用谷歌翻译API来获取文本行的音频翻译功能。最简单的解决方案是使用Google的特殊URL(http://translate.google.com/translate_tts?tl=en&q=“。 ..我的字符串...“)。 使用wget工具确实通过这种方式:使用QT进行二进制文件下载

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检查音频翻译

[email protected]:~/google_has_you/translate.google.com$ mv * test.mp3 

我的问题是如何使用Qt的去做,这就是是,如何从url下载一个二进制文件(mp3):http://translate.google.com/translate_tts?tl=en&q=“+我的文本,然后使用声音下载播放。

+0

看一看的QNetworkAccessManager [文件](HTTP://doc.qt。 nokia.com/latest/qnetworkaccessmanager.html)了解如何解决问题的第一部分。 Qt为Phonon提供了一个mediaplayer例子。你可以用它来找出第二部分。 – Bart

回答

1

您可以使用QNetworkAccessManager来下载文件,然后通过传递路径本地文件到Phonon媒体来源,还是让Phonon流它。 的代码段(网址是QUrl)(堆栈上的一切,因为我从主复制它()):

MediaSource src(url); 
MediaObject obj; 
obj.setCurrentSource(src); 
AudioOutput audio(VideoCategory); 
Phonon::createPath(&obj, &audio); 
obj.play();