【问题标题】:qt QNetworkReply download Media Stream from internet radioqt QNetworkReply 从互联网广播下载媒体流
【发布时间】:2016-06-16 01:00:59
【问题描述】:

我尝试将媒体流写入缓冲区,然后写入文件

   buf.open(QBuffer::ReadWrite);
   file.setFileName("out.mp3");
   file.open(QIODevice::WriteOnly|QFile::Truncate);
   mp3file.setDevice(&file);

尝试:

1.
void MainWindow::reply_readyRead()
{
    QByteArray qa;
    qa = reply->read(16 * 1024);
    buf.write(qa.data(),qa.size());
}

2.
    void MainWindow::reply_readyRead()
    {
    QByteArray qa;
    qa = reply->read(16 * 1024);
    buf.write(qa.data(),qa.size());
    mp3file.writeRawData(qa.data() ,qa.size());
    }

总是输出文件/缓冲区损坏(遗漏部分)。你可以在这里收听这个文件MP3 FILE

从静态文件(来自 url)编写 mp3 顺利!

【问题讨论】:

    标签: qt qt5 qtnetwork


    【解决方案1】:

    您没有阅读所有可用的数据。一次读取所有数据:

    QByteArray qa = reply->readAll();
    

    或尝试循环执行:

    QByteArray qa;
    while (reply->bytesAvailable() > 0)
        qa += reply->read(16 * 1024);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 2012-11-14
      • 2012-03-28
      • 1970-01-01
      • 2012-11-02
      • 2012-07-21
      • 1970-01-01
      相关资源
      最近更新 更多