2016-06-16 5 views
0

я стараюсь запись медиа-поток в буфере, а затем податькварта QNetworkReply загрузки медиа-поток из интернета-радио

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

Письмо mp3 из статических файлов (с url) идет хорошо!

ответ

0

Вы не читаете все доступные данные. Либо прочитать все данные сразу:

QByteArray qa = reply->readAll(); 

или попробовать сделать это в цикле:

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