我是Android新手,我想从文件系统加载音频文件(wav或mp3)并显示音频信息,例如采样率等。
我该怎么做?你知道任何例子吗?
答案 0 :(得分:3)
您可以通过将文件大小除以音频的长度(例如,从我的库中的随机AAC编码的M4A)来近似它:
File Size: 10.3MB (87013064 bits)
Length: 5:16 (316 Seconds)
Which gives: 87013064 bits / 316 seconds = 273426.147 bits/sec or ~273kbps
Actual Bitrate: 259kbps
由于大多数音频文件都有一组已知的有效比特率级别,因此可以使用该比特率将比特率调整到适当的级别进行显示。
Link to original answer by Jake Basile
或者使用此代码使其更准确:
MediaExtractor mex = new MediaExtractor();
try {
mex.setDataSource(path);// the adresss location of the sound on sdcard.
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MediaFormat mf = mex.getTrackFormat(0);
int bitRate = mf.getInteger(MediaFormat.KEY_BIT_RATE);
int sampleRate = mf.getInteger(MediaFormat.KEY_SAMPLE_RATE);