詳解python播放音頻的三種方法
第一種 使用pygame模塊
pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_volume(0.5) pygame.mixer.music.play()
缺點(diǎn):pygame模塊播放音頻時(shí),有時(shí)候會(huì)產(chǎn)生失真,且無(wú)法通過(guò)修改播放器的頻率來(lái)矯正音色。
第二種 使用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()
缺點(diǎn):由于大部分人使用的python環(huán)境為anaconda配置的環(huán)境,在anaconda下的pyqt5沒(méi)有QtMultimedia這一模塊,只能自己使用pip安裝,但是使用pip安裝后如果anaconda環(huán)境下有spyder、anaconda navigator等圖形化界面程序,這些程序會(huì)無(wú)法打開,因此使用pip安裝后調(diào)試完畢后記得使用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()
缺點(diǎn):無(wú),就是代碼多點(diǎn)。
總結(jié)
以上所述是小編給大家介紹的python播放音頻的三種方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
解決selenium+Headless Chrome實(shí)現(xiàn)不彈出瀏覽器自動(dòng)化登錄的問(wèn)題
這篇文章主要介紹了解決selenium+Headless Chrome實(shí)現(xiàn)不彈出瀏覽器自動(dòng)化登錄的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Python實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的監(jiān)控警告的項(xiàng)目實(shí)踐
本文主要介紹了使用Python 實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表的監(jiān)控告警功能, 并將告警信息通過(guò)釘釘機(jī)器人發(fā)送到釘釘群,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
Python對(duì)字符串實(shí)現(xiàn)去重操作的方法示例
字符串去重是python中字符串操作常見的一個(gè)需求,最近在工作中就又遇到了,所以下面這篇文章主要給大家介紹了關(guān)于Python對(duì)字符串實(shí)現(xiàn)去重操作的相關(guān)資料,文中給出了詳細(xì)的介紹,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08

