使用QT下载二进制文件

发布于 2024-11-16 03:11:36 字数 881 浏览 2 评论 0原文

我是 QT 编程的新手,我的工具之一需要一个功能来使用谷歌翻译 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 执行此操作,即如何从 url 下载二进制文件(mp3): < a href="http://translate.google.com/translate_tts?tl=en&q=" rel="nofollow">http://translate.google.com/translate_tts?tl=en&q=" + 我的文本,然后使用 Phonon 播放下载的内容。

I newbie in QT programming and one of my tools needs a feature to get the audio translation of a text line using google translate api.The easiest solution was to use a special URL Google(http://translate.google.com/translate_tts?tl=en&q="...my string...").
Using wget tool a did that by this way :

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"

and then i renamed downloaded file to test.mp3 to check audio translation

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

My question is how to do it with Qt,that is, how to download a binary file (mp3) from url : http://translate.google.com/translate_tts?tl=en&q=" + my text, and then to play downloaded using Phonon.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

超可爱的懒熊 2024-11-23 03:11:36

您可以使用 QNetworkAccessManager 下载文件,然后通过将本地文件的路径传递给 Phonon 媒体源来播放它,或者让 Phonon 流式传输它。
代码片段(url 是 QUrl)(堆栈上的所有内容,因为我从 main() 复制了它):

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

You can either use QNetworkAccessManager to download the file and then play it by passing the path to the local file to the Phonon media source, or let Phonon stream it.
A code snippet (url is a QUrl) (Everything on the stack because I copied it from a main()):

MediaSource src( url );
MediaObject obj;
obj.setCurrentSource( src );
AudioOutput audio( VideoCategory );
Phonon::createPath( &obj, &audio );
obj.play();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文