最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python用sndhdr模塊識(shí)別音頻格式詳解

 更新時(shí)間:2018年01月11日 13:45:29   作者:GanZiQim  
這篇文章主要介紹了Python用sndhdr模塊識(shí)別音頻格式詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文主要介紹了Python編程中,用sndhdr模塊識(shí)別音頻格式的相關(guān)內(nèi)容,具體如下。

sndhdr模塊

功能描述:sndhdr模塊提供檢測(cè)音頻類型的接口。

唯一一個(gè)API

sndhdr模塊提供了sndhdr.what(filename)和sndhdr.whathdr(filename)兩個(gè)函數(shù)。但實(shí)際上它們的功能是一樣的。(不知道多寫一個(gè)的意義何在,what函數(shù)在內(nèi)部調(diào)用了whathdr函數(shù)并把數(shù)據(jù)完完整整地返回)

在之前的版本,whathdr函數(shù)返回元組類型的數(shù)據(jù),在Python3.5版本之后改為返回一個(gè)namedtuple。返回的元組包括5個(gè)屬性:filetype、framerate、nchannels、nframes和sampwidth。

1.filetype代表音頻格式。值為:'aifc', ‘a(chǎn)iff', ‘a(chǎn)u', ‘hcom', ‘sndr', ‘sndt', ‘voc', ‘wav', ‘8svx', ‘sb', ‘ub', ‘ul'或者None中之一。常見的幾個(gè)格式反倒不支持。
2.framerate代表音頻文件的幀率。如果音頻文件難以解碼或者未知,該值會(huì)返回0。
3.nchannels代表通道數(shù)。如果音頻文件難以解碼或者未知,該值會(huì)返回0。
4.nframes代表幀數(shù)。如果無(wú)法確定則返回-1。
5.sampwidth代表返回樣本的長(zhǎng)度(比特),值為8的倍數(shù),或者返回A(A-LAW格式)、u(u-LAW格式)。

>>> import sndhdr
>>> sndhdr.what('test.mp3') # 無(wú)法檢測(cè),返回None
>>> sndhdr.what('test.wav')
SndHeaders(filetype='wav', framerate=44100, nchannels=2, nframes=12630240, sampwidth=16)

注:模塊在檢測(cè)AIFC和AIFF時(shí)使用了aifc模塊。檢測(cè)wav時(shí)使用了wave模塊。這兩個(gè)都是Python標(biāo)準(zhǔn)庫(kù)里面的模塊

自定義檢測(cè)流程

和imghdr模塊一樣,sndhdr內(nèi)部也使用了一個(gè)tests列表維護(hù)檢測(cè)函數(shù)。如果想要自行定義檢測(cè)流程,可以通過修改tests列表達(dá)到目的。

>>> import sndhdr
>>> sndhdr.tests
[<function test_aifc at 0x000001A99B527BF8>, <function test_au at 0x000001A99B527C80>, <
function test_hcom at 0x000001A99B527D08>, <function test_voc at 0x000001A99B527D90>, <f
unction test_wav at 0x000001A99B527E18>, <function test_8svx at 0x000001A99B527EA0>, <fu
nction test_sndt at 0x000001A99B527F28>, <function test_sndr at 0x000001A99B521048>]
>>> def final(h, f): # 自定義檢測(cè)函數(shù)
... print("Maybe mp3 or aac?")
...
>>> sndhdr.what("test.mp3")
>>> sndhdr.tests.append(final) # 添加自定義檢測(cè)函數(shù)到檢測(cè)列表中
>>> sndhdr.what("test.mp3")
Maybe mp3 or aac?

自行添加檢測(cè)函數(shù)需要接收兩個(gè)參數(shù)h和f,h是用來(lái)檢測(cè)的字節(jié)串,f是file對(duì)象。

命令行啟動(dòng)sndhdr模塊

sndhdr用-m模式啟動(dòng)的格式也跟imghdr一樣,終端中調(diào)用python -m sndhdr [-r] file1 file2...就可以了。file可以是文件或者文件夾,-r參數(shù)代表遞歸檢測(cè)。

Desktop\test>python -m sndhdr test.mp3 test.wav
test.mp3: None
test.wav: SndHeaders(filetype='wav', framerate=44100, nchannels=2, nframes=12630240, sampwidth=16)

總結(jié):sndhdr模塊內(nèi)部的結(jié)構(gòu)總體和imghdr非常相似,設(shè)計(jì)缺陷也很相似…模塊的源碼不多,也不是很難讀懂,建議有興趣的讀者可以試著讀下源碼。

以上就是本文關(guān)于Python用sndhdr模塊識(shí)別音頻格式詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Python用imghdr模塊識(shí)別圖片格式實(shí)例解析》、Python使用base64模塊進(jìn)行二進(jìn)制數(shù)據(jù)編碼詳解》、hmac模塊生成加入了密鑰的消息摘要詳解

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • Python?打印不帶括號(hào)的元組的實(shí)現(xiàn)

    Python?打印不帶括號(hào)的元組的實(shí)現(xiàn)

    本文主要介紹了Python?打印不帶括號(hào)的元組,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python中pygraphviz安裝教程

    python中pygraphviz安裝教程

    本文主要介紹了在Anaconda虛擬環(huán)境中安裝pygraphviz,文中通過圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • python實(shí)現(xiàn)讀取命令行參數(shù)的方法

    python實(shí)現(xiàn)讀取命令行參數(shù)的方法

    這篇文章主要介紹了python實(shí)現(xiàn)讀取命令行參數(shù)的方法,涉及Python中sys模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • 解決Pycharm 導(dǎo)入其他文件夾源碼的2種方法

    解決Pycharm 導(dǎo)入其他文件夾源碼的2種方法

    今天小編就為大家分享一篇解決Pycharm 導(dǎo)入其他文件夾源碼的2種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-02-02
  • python實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)簽到功能

    python實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)簽到功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)簽到功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python讀出當(dāng)前時(shí)間精度到秒的代碼

    python讀出當(dāng)前時(shí)間精度到秒的代碼

    在本文里小編給各位分享了一篇關(guān)于python怎么讀出當(dāng)前時(shí)間精度到秒的內(nèi)容,對(duì)此有需要的朋友們可以學(xué)習(xí)參考下。
    2019-07-07
  • python讀取多類型文件夾中的文檔內(nèi)容

    python讀取多類型文件夾中的文檔內(nèi)容

    無(wú)論我們使用哪種編程語(yǔ)言,處理文件對(duì)于每個(gè)程序員都是必不可少的,本文主要介紹了python讀取多類型文件夾中的文檔內(nèi)容,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • pytest用yaml文件編寫測(cè)試用例流程詳解

    pytest用yaml文件編寫測(cè)試用例流程詳解

    這篇文章主要介紹了pytest用yaml文件編寫測(cè)試用例流程,本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • 使用Python實(shí)現(xiàn)視頻拼接效果

    使用Python實(shí)現(xiàn)視頻拼接效果

    這篇文章主要為大家詳細(xì)介紹了使用Python實(shí)現(xiàn)視頻拼接效果的兩種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • Python-Selenium自動(dòng)化爬蟲

    Python-Selenium自動(dòng)化爬蟲

    本文介紹Python-Selenium自動(dòng)化爬蟲,Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,最初是為網(wǎng)站自動(dòng)化測(cè)試而開發(fā)的,Selenium?可以直接運(yùn)行在瀏覽器上,它支持所有主流的瀏覽器,可以接收指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,xiamian?neir?需要的朋友可以參考下
    2022-01-01

最新評(píng)論

凉山| 澄城县| 公安县| 长春市| 磐石市| 黑河市| 凉城县| 广西| 宁波市| 凤山县| 汝阳县| 嘉黎县| 孝感市| 芜湖县| 广东省| 厦门市| 河曲县| 宁国市| 宝鸡市| 双城市| 电白县| 托克托县| 紫阳县| 乐业县| 左云县| 武义县| 丰原市| 澜沧| 无棣县| 泾源县| 塔河县| 进贤县| 汉沽区| 右玉县| 赤城县| 孟村| 新竹市| 勃利县| 灵寿县| 方山县| 历史|