1. 程式人生 > 程式設計 >詳解python播放音訊的三種方法

詳解python播放音訊的三種方法

第一種 使用pygame模組

  pygame.mixer.init()
  pygame.mixer.music.load(self.wav_file) 
  pygame.mixer.music.set_volume(0.5) 
  pygame.mixer.music.play()

缺點:pygame模組播放音訊時,有時候會產生失真,且無法通過修改播放器的頻率來矯正音色。

第二種 使用pyqt5模組

from PyQt5 import QtMultimedia
from PyQt5.QtCore import QUrl
file = QUrl.fromLocalFile(wav_file) # 音訊檔案路徑
content = QtMultimedia.QMediaContent(file)
player.setMedia(content)
player.setVolume(50.0)
player.play()

缺點:由於大部分人使用的python環境為anaconda配置的環境,在anaconda下的pyqt5沒有QtMultimedia這一模組,只能自己使用pip安裝,但是使用pip安裝後如果anaconda環境下有spyder、anaconda navigator等圖形化介面程式,這些程式會無法開啟,因此使用pip安裝後除錯完畢後記得使用pip解除安裝掉,之後才能正常開啟spyder等程式。

第三種 使用pyaudio模組

import pyaudio
import wave
import sys
chunk = 1024
wf = wave.open('gyh.wav','rb')
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=wf.getnchannels(),rate=wf.getframerate(),output=True)
data = wf.readframes(chunk)
while len(data) > 0:
  stream.write(data)
  data = wf.readframes(CHUNK)
stream.stop_stream()
stream.close()
p.terminate()

缺點:無,就是程式碼多點。

總結

以上所述是小編給大家介紹的python播放音訊的三種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!