Кроме шумов ничего нет. В чем может быть проблема?
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);
В общем, нашел нужное решение для себя с использованием 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();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня такая проблема: мне нужно вывести числа от 1 до 10 (количество чисел не важно), и как только рандомное число будет равно 5, прекратить вывод
Столкнулся с проблемой, но в интернете подходящего мне решения не нашелПишу программу на C нахождения точек пересечения отрезка и треугольника
У меня возникла проблема с добавлением QActionGroup в QMenuЭкшны меню выглядят так, словно я добавил обычные QAction, а не QActionGroup