我需要您对以下查询的帮助:
查询: 有没有办法获取音频文件的跟踪信息。 采样率,通道,音频文件的比特率。
用于提取比特率," MediaMetadataRetriever" API可用(METADATA_KEY_BITRATE)。
请建议是否可以使用任何Android API完成。
发现以下API,但它的使用实际上是不同的。 http://developer.android.com/reference/android/medi/AudioTrack.html
我想使用Android API程序提取这些: 采样率,量化,输入音频文件的通道。
请帮忙。
提前致谢。
答案 0 :(得分:2)
在播放期间使用MediaPlayer.getTrackInfo()
(在METADATE_UPDATE事件到达onInfo回调之后),通过调用getFormat
获取音频流轨道来获取MediaFormat对象。然后从MediaFormat
获得:
答案 1 :(得分:1)
这可以使用MeiaExtractor
这样完成:
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);
int channelCount = mf.getInteger(MediaFormat.KEY_CHANNEL_COUNT);