rust(56)-mp3(1)
支持MPEG-1、MPEG-2和MPEG-2.5第三層流。第一層和第二層目前不受支持。
let data = std::fs::read("tests/vectors/MonoCBR192.mp3").expect("Could not open file"); let (header, samples) = puremp3::read_mp3(&data[..]).expect("Invalid MP3"); for (left, right) in samples {// Operate on samples here }Structs
Frame 一幀MP3數(shù)據(jù)。
FrameHeader 一個(gè)MP3幀的Header。
Mp3Decoder 解碼MP3流。
Enums
BitRate 比特率MP3流的比特率。
Channels :通道模式
Emphasis 用于編碼MP3音頻流的重點(diǎn)。
Error 在MP3解碼過程中可能引發(fā)的錯(cuò)誤。
MpegLayer 用于音頻編碼的MPEG層。
mpegversion: MPEG標(biāo)準(zhǔn)的版本,用于音頻編碼。
SampleRate 采樣MP3流的采樣率。
function
read_mp3 方便的方法解碼一個(gè)MP3。返回在MP3中找到的第一個(gè)幀標(biāo)頭,并使用迭代器Iterator生成MP3樣本Samples。
方便的方法解碼一個(gè)MP3。返回在MP3中找到的第一個(gè)幀標(biāo)頭,并使用迭代器生成MP3樣本’。
每個(gè)樣本代表一個(gè)左右樣本在MP3的采樣率。任何無效的數(shù)據(jù)都會(huì)被忽略。迭代器將提供樣本,直到?jīng)]有更多的數(shù)據(jù),或者出現(xiàn)錯(cuò)誤。
如果你需要處理錯(cuò)誤或變化的格式中流,使用Mp3Decoder。
總結(jié)
以上是生活随笔為你收集整理的rust(56)-mp3(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI理论知识基础(26)-机器学习常见损
- 下一篇: Spring IOC原理总结