这是一个普遍的问题:我怎样才能摆脱声音开始时的峰值声音?这是完整的代码,您可以尝试一下。比较一下:如果我用 QSound 播放相同的声音,它就没有那种峰值噪音。但我不能使用 QSound,因为它在 Ubuntu 上不起作用。
如果我在 VLC 之类的播放器中播放声音,开始时没有噪音。这是声音:http ://www.file-upload.net/download-7876205/delete_2.wav.html
import struct, sys, time
from PyQt4.QtCore import QIODevice, Qt, QFile
from PyQt4.QtGui import QApplication, QWidget
from PyQt4.QtMultimedia import QAudio, QAudioDeviceInfo, QAudioFormat, QAudioOutput
class Window(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
format = QAudioFormat()
format.setChannels(1)
format.setFrequency(48000)
format.setSampleSize(16)
#format.setCodec("audio/pcm")
format.setCodec("audio/wav")
format.setByteOrder(QAudioFormat.LittleEndian)
format.setSampleType(QAudioFormat.SignedInt)
self.output = QAudioOutput(format, self)
self.file=QFile()
self.file.setFileName("C:\\delete_2.wav")
self.file.open(QIODevice.ReadOnly)
self.output.start(self.file)
#self.file.close()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
#window.show()
sys.exit(app.exec_())