本文介绍了在QAudioOutput更改卷后噪音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想通过原始格式使用QAudioOutput和WAV播放声音。定时器超时(每50ms)后,我以下内容:
的QByteArray TempSBuffer;
短整型*您好;//检查WAV已达到他们的最终并重置其位置,如果一开始是
如果((m_timerStepNum + 1)* m_audioOutput-> periodSize()&GT = m_soundBuffer.size()){
m_timerStepNum = 0;
}
// 2.写为下timecycle缓冲区的数据到临时的QByteArray TempSBuffer
TempSBuffer = m_soundBuffer.mid(m_timerStepNum * m_audioOutput-> periodSize(),m_audioOutput-> periodSize());
HI =(短整型*)TempSBuffer.data();对(INT I = 0; I&下; m_audioOutput-> periodSize()/ 2;我++){喜由[i] * = m_audioOutput->体积(); }// 4.玩得到的缓冲区
m_ioDevice->写(TempSBuffer,m_audioOutput-> periodSize());
m_timerStepNum ++;
一切OK播放,但是当我试图改变音量例如0.2 QAudioOutput说(和我的主音量为100%),我已经得到了可怕的噪音。我必须承认,这仅发生于有格式的我的一wav文件:
bitsPerSample:8
通道:1
频率:16000
其他文件播放好吧,我说。好打波的格式例子:
bitsPerSample:16
通道:1
频率:22050bitsPerSample:16
通道:2
频率:22050bitsPerSample:16
通道:2
频率:22050
解决方案
那么,根据的 -
I solved for a while my problem by converting my raw wav to 16-bit format.
这篇关于在QAudioOutput更改卷后噪音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!