簡體   English   中英

QAudio在PyQt4開頭輸出奇怪的峰值聲音

[英]QAudioOutput strange peak sound at beginning in PyQt4

這是一個普遍的問題:如何消除聲音開始時的峰值聲音? 這是完整的代碼,因此您可以嘗試一下。 進行比較:如果我使用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_())
self.file.seek(44)

是跳過文件頭,但是44不是固定大小。 之后是音頻數據

嗯,如果有

self.file.seek(44)

self.file.open(...)

這種“尋求”是為了什么? 在一小段中找到它並很高興它能起作用,但是我想了解背景!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM