golang聲音播放的初探
起因
公司需要實現一個定期抓取分銷系統資料並以聲音播放的方式通知的pc端程式,本人對golang非常感興趣,於是打算用golang來實現。
探索
1. 方案一 B站視訊
1.1 方案說明:
1.2 方案的不足
當啟動任務,每秒去播放聲音的時候,時間一長就提示錯誤。於是,對聲音播放不懂的我,到github提交了問題,目前沒有解決方法。本人只好繼續尋找其他的庫,百度、谷歌啥的,發現了portaudio這個庫(本人是菜鳥,對作業系統底層的api不懂,也不理解混音啥的演算法,只能尋找其他的可代替的庫)
2. 方案二 B站視訊
2.1 方案說明:
使用portaudio和minmp3 這個庫來實現播放聲音的功能。
2.2 方案的不足
portaudio 經過測試不會出現oto庫的問題,可以使用。但是,如果播放一段檔案大小為7M左右的mp3檔案,發現記憶體有一百多M。雖說,訊息通知的語音都是5k左右的短語音,但是作為有強迫症的我,還是不滿意。記憶體大的原因是 minmp3 這個庫,解析mp3後,檔案是放在記憶體裡面的。而我發現portaudio這個庫的示例程式碼裡面有一個go-mpg123解析聲音的庫。
3. 方案三 B站視訊
3.1 方案說明:
使用portaudio和go-mpg123 這個庫來實現播放聲音的功能。
3.2 方案不足
使用的portaudio和mpg123已經完美的解決了公司的需求。但是 這兩個庫都是使用cgo,所以在wins環境上開發需要搭建好開發環境。
結束語
1、golang語言非常簡單高效。 2、如有不對的地方,歡迎大神指正。 3、如果您想支援作者,可以到B站上,給作者點個贊,關注作者。 4、簡書原文地址:點我
相關文章
- 傑理提示音播放成功但沒有聲音
- Chrome 66禁止聲音自動播放之後Chrome
- win10 1903播放聲音卡頓怎麼處理_win10播放聲音卡頓嚴重如何修復Win10
- Android多媒體之認識聲音、錄音與播放(PCM)Android
- 樹莓派實時播放麥克風聲音到音響樹莓派
- Golang modules 初探Golang
- MacBook 播放器無聲音 (排除硬體問題)Mac播放器
- windows 10 聲音控制皮膚-錄製-microphone-偵聽 造成回聲,麥克風接收的 話/聲音 會再次播放出來Windows
- Golang 泛型初探Golang泛型
- 如何解決win10 5.1聲道測試正常播放音樂沒聲音Win10
- 【方法】Win10 暫停影片重新播放聲音突然變大Win10
- 聲音洩露?可能被複制的“聲音DNA”
- 【夢想的聲音】
- 電腦沒聲音但是揚聲器顯示有聲音怎麼辦?電腦沒聲音的解決辦法
- win10系統沒有聲音提示“無法播放測試音調” 怎麼解決Win10
- 電腦播放影片沒有聲音是什麼原因 電腦播放音訊有個紅叉的解決方法音訊
- 傑裡之設定為單聲道後,有的機子有時播放 U 盤或卡音樂聲音非常小解決方法【篇】
- Golang通脈之併發初探Golang
- win10系統ppt錄製影片的時候播放沒有聲音怎麼辦Win10
- 聲音魔法課
- 剪映裡怎麼用Siri的聲音?剪映新增Siri聲音教程
- 電腦沒聲音怎麼辦? 電腦沒聲音的原因總結
- win10系統ppt錄製視訊的時候播放沒有聲音怎麼辦Win10
- 聲網AI降噪測評系統初探AI
- 如何基於實時聲紋變聲實現對聲音的“克隆”
- iOS AVAudioPlayer(音訊播放)iOS音訊
- c#音樂播放C#
- android 音訊播放 SoundPoolAndroid音訊
- 電腦沒聲音怎麼辦?電腦沒聲音的解決辦法
- BAFTA遊戲最佳聲音獎《對馬之魂》的聲音設計幕後遊戲
- 解決flutter中webview視訊流播放Android正常,ios下有聲音沒影像問題FlutterWebViewAndroidiOS
- 雜談:遊戲中的“聲音”遊戲
- 如何查詢和關閉Safari的音訊聲音音訊
- win10系統中如何設定聲音雙聲道輸出_win10設定聲音雙聲道輸出的方法Win10
- win10系統中插耳機沒聲音外放有聲音的解決方法Win10
- vue音樂播放器Vue播放器
- Flutter(十) 音訊+影片播放Flutter音訊
- hqplayer pro 4,音訊播放音訊