詳解python播放音頻的三種方法
第一種 使用pygame模塊
pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_volume(0.5) pygame.mixer.music.play()
缺點:pygame模塊播放音頻時,有時候會產(chǎn)生失真,且無法通過修改播放器的頻率來矯正音色。
第二種 使用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環(huán)境為anaconda配置的環(huán)境,在anaconda下的pyqt5沒有QtMultimedia這一模塊,只能自己使用pip安裝,但是使用pip安裝后如果anaconda環(huán)境下有spyder、anaconda navigator等圖形化界面程序,這些程序會無法打開,因此使用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()
缺點:無,就是代碼多點。
總結(jié)
以上所述是小編給大家介紹的python播放音頻的三種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
python的schedule定時任務(wù)模塊二次封裝方法
今天小編就為大家分享一篇python的schedule定時任務(wù)模塊二次封裝方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02python中利用await關(guān)鍵字如何等待Future對象完成詳解
為了簡化并更好地標(biāo)識異步IO,從Python 3.5開始引入了新的語法async和await,可以讓coroutine的代碼更簡潔易讀。下面這篇文章主要給大家介紹了關(guān)于python中利用await關(guān)鍵字如何等待Future對象完成的相關(guān)資料,需要的朋友可以參考下。2017-09-09python學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)實例代碼
數(shù)據(jù)結(jié)構(gòu)就是用來將數(shù)據(jù)組織在一起的結(jié)構(gòu)。換句話說,數(shù)據(jù)結(jié)構(gòu)是用來存儲一系列關(guān)聯(lián)數(shù)據(jù)的東西。在Python中有四種內(nèi)建的數(shù)據(jù)結(jié)構(gòu),分別是List、Tuple、Dictionary以及Set。本文將通過實例來介紹這些數(shù)據(jù)結(jié)構(gòu)的用法。2015-05-05python def 定義函數(shù),調(diào)用函數(shù)方式
這篇文章主要介紹了python def 定義函數(shù),調(diào)用函數(shù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python進(jìn)程multiprocessing.Process()的使用解讀
這篇文章主要介紹了Python進(jìn)程multiprocessing.Process()的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()的區(qū)別
本文主要介紹了OpenCV cv2.imread(),cv2.imshow(),cv2.imwrite()的區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析
這篇文章主要介紹了基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析,具有很好對參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03