1. 程式人生 > >如何跨平臺python播放pcm音訊

如何跨平臺python播放pcm音訊

本文首先要感謝以下兩篇部落格的指導:

本文依賴的程式碼請參考文章1,本文主要介紹在Windows,MacOS環境下如何搭建python依賴環境。

首先,需要使用pip命令安裝pysdl2擴充套件包:pip install pysdl2,如果不使用pip命令,則可以參考pysdl2官網的安裝說明

然後我們需要給自己的作業系統安裝SDL2的執行庫,文章1是基於ubuntu系統apt命令安裝了sdl2的執行庫,如果使用windows系統,則需要通過SDL2官網下載dll動態連結庫,下載後並在環境變數中新增PYSDL2_DLL_PATH,如下圖所示: 在這裡插入圖片描述

本人使用windows10 64bit家庭版親測,文章1中的原始碼可以正常執行,但是一直沒有聲音,然後我根據文章2,將文章1中原始碼第37行修改為:audio.SDL_OpenAudio(reqspec, None)後可以正常播放,如果播放有雜音或者聲音不正常,可以參考文章2修改文章1中第35行程式碼,將取樣率,聲道數等設定為符合自己pcm檔案的引數。

如果使用MacOS系統,則依然通過SDL2官網下載MAC下的dmg檔案,開啟dmg檔案後,將sdl2的執行庫拷貝到/Library/Frameworks/目錄下即可正常執行文章1的原始碼。本人使用macOS High Sierra系統親測可用。

遺留問題:我使用windows和macos系統都無法正常播放文章1中的piano.pcm檔案,由於不瞭解文章1中pcm檔案的取樣率等情況,所以親測的是自己的pcm檔案。