【发布时间】:2016-10-31 05:00:33
【问题描述】:
我想播放来自 QByteArray 的音乐,因此我可以在许多情况下使用它来从数据库中检索声音或使用 Tcp 等通过网络传输它。
所以我使用这些代码行
QFile file("E:\\amr.mp3"); // sound dir
file.open(QIODevice::ReadOnly);
QByteArray arr = file.readAll(); // change it to QbyteArray
QBuffer buffer(&arr);
qDebug() << "Buffer error = " << buffer.errorString(); // i get error from here "unkow error"
QMediaPlayer *player = new QMediaPlayer();
player->setMedia(QMediaContent(),&buffer);
player->play();
qDebug() << "Player error = " << player->errorString(); // no error ""
我在搜索时看到了很多解决方案,其中一个在 stackoverflow 解决方案是制作一个 Qbuffer,将数组传递给它并将其放入 setMedia 但它不起作用 所以我需要任何帮助来运行此代码或以任何其他方式从 QByteArray 播放声音或音乐
【问题讨论】:
-
调用
QBuffer::errorString方法没有意义:缓冲区永远不会处于错误状态,因此错误的字符串表示是没有意义的。
标签: c++ qt qbytearray qmediaplayer