我正在尝试使用Qt从互联网上流式传输音乐,但这种代码的平静并不能真正起作用(我认为它应该:):
//////////
void MainWindow::play()
{
player_ = new QMediaPlayer(this, QMediaPlayer::StreamPlayback);
player_->setMedia(QUrl("http://eteris.startfm.lt/startfm.ogg"));
//// When I use this line, it actually works :)
////player_->setMedia(QUrl::fromLocalFile("C:\music\Knjiga Zalbe\01. Couvert.mp3"));
player_->setVolume(50);
player_->play();
}
然后我只调用主代码:
QApplication a(argc, argv);
MainWindow w;
w.show();
w.play();
我试着在StackOverflow中查看不同的答案,但它们似乎对我不起作用:(.
有人有什么想法吗?:)
编辑:我刚刚在Ubuntu 13.10中测试了代码,它很有效!:),所以这显然是一个编解码器问题或其他什么问题,在我找出它之后,我会在这里发布最终答案:)
Qt的多媒体模块使用平台编解码器。
如果你没有为Vorbis(ogg是Vorbis格式的容器)和flac安装编解码器,你将无法播放ogg和flac文件。
你可以在这里找到所需的编解码器:
http://www.xiph.org/dshow