8

对于以下查询,我需要您的帮助:

查询:有没有办法获取音频文件的以下信息。音频文件的采样率、通道、比特率。

对于提取比特率,可以使用“MediaMetadataRetriever”API (METADATA_KEY_BITRATE)。

请建议是否可以使用任何 android API 来完成。

在API下面找到了这个,但它的用途实际上是不同的。 http://developer.android.com/reference/android/medi/AudioTrack.html

我想以编程方式使用 Android API 提取这些:采样率、量化、输入音频文件的通道。

请帮助解决这个问题。

提前致谢。

4

2 回答 2

2

在播放过程中(在METADATE_UPDATE事件到达 onInfo 回调之后)通过调用音频流轨道MediaPlayer.getTrackInfo()获取MediaFormat对象。getFormat然后MediaFormat你可以得到:

BIT_RATE

CHANNEL_COUNT 个

采样率

于 2014-09-11T09:47:48.403 回答
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);
于 2015-07-02T02:56:44.277 回答