サンプルプログラムの QT/Example/Qt-5.5/multimedia/audiooutput をDebugしています。
audiooutoutのデーターの発生期間は下記の添付コードによると思います。
m_generator = new Generator(m_format, DurationSeconds44, ToneSampleRateHz, this);
即ち、上記の引数のDurationSeconds44=1*44で44秒間と思いますが、
発生を停止する事無く、永久的に音を発生します。
Q1)音声の発生期間を、所定の期間、例えば1秒間に設定する方法はありますか?
注)MSのwaveoutで音声を発生する場合が、バッファー内のデーターを読込
音声を発生します。サンプリングレートが44100Hzの場合は、44100ワードのデーター
で1秒間の音声を発生します。
この件に関して、コメント、ご教授を頂けますと大変有りがたいです。
void AudioTest::initializeAudio(){
connect(m_pushTimer, SIGNAL(timeout()), SLOT(pushTimerExpired()));
m_pullMode = true;
m_format.setSampleRate(DataSampleRateHz);
m_format.setChannelCount(1);
m_format.setSampleSize(16);
m_format.setCodec("audio/pcm");
m_format.setByteOrder(QAudioFormat::LittleEndian);
m_format.setSampleType(QAudioFormat::SignedInt);
QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
if (!info.isFormatSupported(m_format)) {
qWarning() << "Default format not supported - trying to use nearest";
m_format = info.nearestFormat(m_format);
}
m_generator = new Generator(m_format, DurationSeconds*44, ToneSampleRateHz, this);
createAudioOutput();
}
以上、宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。