日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:sunau—-讀寫SunAU文件

sunau —- 讀寫 Sun AU 文件

源代碼: Lib/sunau.py

從版本 3.11 開始標(biāo)記為過時,將在版本 3.13 中移除。: sunau 模塊已被棄用(請參閱 PEP 594 了解詳情)。


sunau 模擬提供了一個處理 Sun AU 聲音格式的便利接口。請注意此模塊與 aifc 和 wave 是兼容接口的。

音頻文件由標(biāo)頭和數(shù)據(jù)組成。標(biāo)頭的字段為:

目錄

magic word

四個字節(jié) .snd

header size

標(biāo)頭的大小,包括信息,以字節(jié)為單位。

data size

數(shù)據(jù)的物理大小,以字節(jié)為單位。

encoding

指示音頻樣本的編碼方式。

sample rate

采樣率

# of channels

采樣中的通道數(shù)。

info

提供音頻文件描述的ASCII字符串(用空字節(jié)填充)。

除了 info 字段,所有標(biāo)頭字段的大小都是 4 字節(jié)。 它們都是采用大端字節(jié)序編碼的 32 位無符號整數(shù)。

sunau 模塊定義了以下函數(shù):

sunau.open(file, mode)

如果 file 是一個字符串,打開相應(yīng)名稱的文件,否則就把它作為可定位的文件類對象來處理。 mode 可以是

  • 'r'

    只讀模式。

    'w'

    只寫模式。

注意它不支持同時讀/寫文件。

mode'r' 時返回一個 AU_read 對象,而 mode'w''wb' 時返回一個 AU_write 對象。

sunau 模塊定義了以下異常:

exception sunau.Error

當(dāng) Sun AU 規(guī)范或?qū)崿F(xiàn)的低效導(dǎo)致無法操作時引發(fā)的錯誤。

sunau 模塊定義了以下數(shù)據(jù)條目:

sunau.AUDIO_FILE_MAGIC

位于每個有效的 Sun AU 文件開頭的整數(shù),以大端序形式存儲。 這是一個被當(dāng)作整數(shù)來解讀的字符串 .snd。

sunau.AUDIO_FILE_ENCODING_MULAW_8

sunau.AUDIO_FILE_ENCODING_LINEAR_8

sunau.AUDIO_FILE_ENCODING_LINEAR_16

sunau.AUDIO_FILE_ENCODING_LINEAR_24

sunau.AUDIO_FILE_ENCODING_LINEAR_32

sunau.AUDIO_FILE_ENCODING_ALAW_8

AU 標(biāo)頭中被此模塊所支持的 encoding 字段值。

sunau.AUDIO_FILE_ENCODING_FLOAT

sunau.AUDIO_FILE_ENCODING_DOUBLE

sunau.AUDIO_FILE_ENCODING_ADPCM_G721

sunau.AUDIO_FILE_ENCODING_ADPCM_G722

sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3

sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5

AU 標(biāo)頭中附加的已知但不被此模塊所支持的 encoding 字段值。

AU_read 對象

由上面的 open() 所返回的 AU_read 對象具有以下幾種方法:

AU_read.close()

關(guān)閉流,并使實例不可用。 (此方法會在刪除對象時自動調(diào)用。)

AU_read.getnchannels()

返回音頻的通道數(shù)(單聲道為 1,立體聲為 2)。

AU_read.getsampwidth()

返回采樣字節(jié)長度。

AU_read.getframerate()

返回采樣頻率。

AU_read.getnframes()

返回音頻總幀數(shù)。

AU_read.getcomptype()

返回壓縮類型。 受支持的壓縮類型有 'ULAW', 'ALAW''NONE'。

AU_read.getcompname()

getcomptype() 的人類可讀的版本。 受支持的類型將為相應(yīng)的名稱 'CCITT G.711 u-law', 'CCITT G.711 A-law''not compressed'。

AU_read.getparams()

返回一個 namedtuple() (nchannels, sampwidth, framerate, nframes, comptype, compname),與 get*() 方法的輸出相同。

AU_read.readframes(n)

讀取至多 n 幀音頻并作為 bytes 對象返回。 數(shù)據(jù)將以線性格式返回。 如果原始數(shù)據(jù)為 u-LAW 格式,則它將被轉(zhuǎn)換。

AU_read.rewind()

重置文件指針至音頻開頭.

以下兩個方法都使用指針,具體實現(xiàn)由其底層決定。

AU_read.setpos(pos)

設(shè)置文件指針到特定位置。 只有從 tell() 返回的值才可被用作 pos。

AU_read.tell()

返回當(dāng)前文件指針的位置。 請注意該返回值與文件中的實例位置無關(guān)。

以下兩個函數(shù)是為了與 aifc 保持兼容而定義的,實際不做任何事情。

AU_read.getmarkers()

返回 None。

AU_read.getmark(id)

引發(fā)錯誤異常。

AU_write 對象

由上面的 open() 所返回的 AU_write 對象具有以下幾種方法:

AU_write.setnchannels(n)

設(shè)置聲道數(shù)。

AU_write.setsampwidth(n)

設(shè)置采樣寬度(字節(jié)長度。)

在 3.4 版更改: 增加了對 24 位采樣的支持。

AU_write.setframerate(n)

設(shè)置幀速率。

AU_write.setnframes(n)

設(shè)置總幀數(shù)。 如果寫入了更多的幀,此值將會被更改。

AU_write.setcomptype(type, name)

設(shè)置壓縮類型和描述。 對于輸出只支持 'NONE''ULAW'。

AU_write.setparams(tuple)

tuple 應(yīng)該是 (nchannels, sampwidth, framerate, nframes, comptype, compname),每項的值可用于 set*() 方法。 設(shè)置所有形參。

AU_write.tell()

返回文件中的當(dāng)前位置,其含義與 AU_read.tell() 和 AU_read.setpos() 方法的一致。

AU_write.writeframesraw(data)

寫入音頻數(shù)據(jù)但不更新 nframes。

在 3.4 版更改: 現(xiàn)在可接受任意 bytes-like object。

AU_write.writeframes(data)

寫入音頻數(shù)據(jù)并更新 nframes

在 3.4 版更改: 現(xiàn)在可接受任意 bytes-like object。

AU_write.close()

確保 nframes 正確,并關(guān)閉文件。

此方法會在刪除時被調(diào)用。

請注意在調(diào)用 writeframes()writeframesraw() 之后再設(shè)置任何形參都是無效的。


文章標(biāo)題:創(chuàng)新互聯(lián)Python教程:sunau—-讀寫SunAU文件
當(dāng)前路徑:http://m.5511xx.com/article/codihcj.html