如何在Qt中从QByteArray播放声音

用户名

我想使用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播放声音或音乐的其他方法

彼得·T

你只是忘了用

buffer.open(QIODevice::ReadOnly);

因此,一个完整的工作演示程序是这样的:

#include <QApplication>
#include <QMediaPlayer>
#include <QFile>
#include <QBuffer>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);


    QFile file(R"(C:\test.mp3)");    // sound dir
    file.open(QIODevice::ReadOnly);
    QByteArray arr = file.readAll(); 

    QMediaPlayer *player = new QMediaPlayer(&a);

    QBuffer *buffer = new QBuffer(player);
    buffer->setData(arr);
    buffer->open(QIODevice::ReadOnly);

    player->setMedia(QMediaContent(),buffer);

    player->play();

    return a.exec();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在QT中启动之前播放声音?

来自分类Dev

如何在Java中播放声音?

来自分类Dev

如何在angularjs中播放声音

来自分类Dev

如何在C ++中播放声音?

来自分类Dev

如何在Julia中播放声音

来自分类Dev

如何在android中播放声音

来自分类Dev

如何在C ++中播放声音

来自分类Dev

如何在Greasemonkey脚本中播放声音?

来自分类Dev

如何在JavaScript中循环播放声音?

来自分类Dev

如何在python 3中播放声音?

来自分类Dev

如何在Swift 2中播放声音文件

来自分类Dev

我如何在React中播放声音

来自分类Dev

如何在星号中为被叫者播放声音

来自分类Dev

如何在WP8中播放声音?

来自分类Dev

如何在 Vaadin 14 中播放声音?

来自分类Dev

如何播放声音?

来自分类Dev

如何使按钮在Libgdx中播放声音?

来自分类Dev

如何在网页的画布中运行的Processing.js程序中播放声音?

来自分类Dev

如何定期播放声音?

来自分类Dev

如何停用播放声音

来自分类Dev

如何直接播放声音?

来自分类Dev

如何停用播放声音

来自分类Dev

在Android中播放声音

来自分类Dev

如何在Android中无限循环播放声音文件?

来自分类Dev

如何在android studio中单击按钮时播放声音?

来自分类Dev

如何在Java中以给定的采样率播放声音?

来自分类Dev

如何在多个重叠的实例中播放声音文件?

来自分类Dev

如何在slick2D Java游戏库中播放声音和音乐?

来自分类Dev

如何在动态 javascript 表中更改值时播放声音?