我正在开发一个从VLC服务器接收广播的应用程序 . 我有一个解决方案,但我需要另一个,因为这个不适合我的需求 .

我的问题是,有没有办法用QTcpSocket作为QByteArray接收视频并与QMediaPlayer一起播放 . 我找到了下面的文章,但它从来没有真正为我做过 .

Play Video In Qt from BYTE* Stream?

这是我一直在努力做的事情 . 我使用带有HTTP的VLC启动流,将端口设置为“8080”,我测试的是连接发生,但似乎我从未从VLC获取任何数据,因为QTcpSocket的readReady()信号永远不会发出 . 虽然我可以通过read / readAll读取数据 .

tcpSocket = new QTcpSocket();
tcpSocket->connectToHost("157.181.196.59", 8080);

QByteArray data = tcpSocket->readAll();
QBuffer buffer(&data);
player->setMedia(QMediaContent(), &buffer);
player->play();

我知道这不是它的工作原理,但正如我想象的那样,我应该能够在videoWidget上看到一些结果 .

你能帮我帮忙怎么做?