Windows 7 데스크톱과 랩톱에서 Qt 5.5.1을 사용합니다.QAudioOutput을 통해 wav 파일을 재생하는 중에 윙윙 거리는 소리 만
나는 윙윙 거리는 소리 만들을 수 있습니다. 안내해주십시오. WAV 파일에
링크, 나는 시도 - https://www.dropbox.com/s/frfy43d8hznptgf/c.wav?dl=0
나는 또한 mp3 파일로이 작업을 시도했습니다. 내가 듣기로는 윙윙 거리는 소리가 들려요.
재현 할 예 :
#include <QCoreApplication>
#include <QAudioOutput>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QAudioOutput* audioOutpu;
QFile sourceFile;
sourceFile.setFileName("c.wav");
bool p = sourceFile.open(QIODevice::ReadOnly);
if (p == false)
qDebug() << "no file";
else
qDebug() << "yes file";
QAudioDeviceInfo d1;
QList<QAudioDeviceInfo> l1 = d1.availableDevices(QAudio::AudioOutput);
qDebug() << "======================================================";
qDebug() << l1.first().supportedCodecs();
qDebug() << l1.first().supportedChannelCounts();
qDebug() << l1.first().supportedSampleTypes();
qDebug() << l1.first().supportedSampleRates();
qDebug() << l1.first().supportedSampleSizes();
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() << "Default format not supported, trying to use the nearest.";
desiredFormat1 = info1.preferredFormat();
}
audioOutpu = new QAudioOutput(desiredFormat1);
audioOutpu->setVolume(1.0);
audioOutpu->start(&sourceFile);
qDebug() << "bbbbbbbbbb";
QEventLoop loop;
QObject::connect(audioOutpu, SIGNAL(stateChanged(QAudio::State)), &loop, SLOT(quit()));
do {
loop.exec();
} while(audioOutpu->state() == QAudio::ActiveState);
return a.exec();
}
출력 :
이
wav 파일에 대한 링크가 좋을 것입니다. –
어떻게 그럴 수 있습니까? @ Jean-FrançoisFabre –
나는 dropbox와 같은 외부 링크에 연결해야만한다고 인정한다. –