Проблемы с QAudioOutput

127
01 ноября 2019, 21:30

Кроме шумов ничего нет. В чем может быть проблема?

    QByteArray array;
    QFile media;
    media.setFileName("C:\\Users\\User\\Desktop\\song.mp3");
    media.open(QFile::ReadOnly);
    array = media.readAll();
    media.close();
    QBuffer* buf = new QBuffer;
    buf->setBuffer(&array);
    buf->open(QIODevice::ReadOnly);
    qDebug() << buf->size();
    QAudioFormat desiredFormat1;
    desiredFormat1.setChannelCount(2);
    desiredFormat1.setByteOrder(QAudioFormat::LittleEndian);
    desiredFormat1.setCodec("audio/pcm");
    desiredFormat1.setSampleType(QAudioFormat::SignedInt);
    desiredFormat1.setSampleRate(44100);
    desiredFormat1.setSampleSize(16);
    QAudioDeviceInfo info1(QAudioDeviceInfo::defaultOutputDevice());
    if (!info1.isFormatSupported(desiredFormat1))
    {
        qWarning() << "Format not supported";
        desiredFormat1 = info1.preferredFormat();
    }
    QAudioOutput* audioOutpu = new QAudioOutput(desiredFormat1);
    audioOutpu->start(buf);
    QEventLoop loop;
    QObject::connect(audioOutpu, SIGNAL(stateChanged(QAudio::State)), &loop, SLOT(quit()));
    do {
        loop.exec();
    } while (audioOutpu->state() == QAudio::ActiveState);
Answer 1

В общем, нашел нужное решение для себя с использованием QMediaPlayer и QByteArray. Оно проще и легче.

QFile file("C:\\Users\\User\\Desktop\\song.mp3");
file.open(QIODevice::ReadOnly);
QByteArray arr = file.readAll();
file.close();
QMediaPlayer *player = new QMediaPlayer;
QBuffer *buffer = new QBuffer(player);
buffer->setData(arr);
buffer->open(QIODevice::ReadOnly);
player->setMedia(QMediaContent(), buffer);
player->play();
READ ALSO
Как вывести рандомные числа? [закрыт]

Как вывести рандомные числа? [закрыт]

У меня такая проблема: мне нужно вывести числа от 1 до 10 (количество чисел не важно), и как только рандомное число будет равно 5, прекратить вывод

150
Проблема с выводом (цикл)

Проблема с выводом (цикл)

Можете подсказать в чем заключается моя ошибка?

148
Не записывается указатель на структуру

Не записывается указатель на структуру

Столкнулся с проблемой, но в интернете подходящего мне решения не нашелПишу программу на C нахождения точек пересечения отрезка и треугольника

116
Не могу добавить QActionGroup в QMenu

Не могу добавить QActionGroup в QMenu

У меня возникла проблема с добавлением QActionGroup в QMenuЭкшны меню выглядят так, словно я добавил обычные QAction, а не QActionGroup

156