如何获取音频文件的通道数

时间:2015-07-01 22:13:36

标签: android audio android-mediaplayer

我正在尝试使用TrackInfoMediaFormat检索.wav声音文件的频道数,但我似乎无法获得MediaFormat对象的句柄,我相信它会提供频道数。

我尝试过这个instruction,但它没有帮助。

这是我到目前为止所拥有的

mediaPlayer = new MediaPlayer();
    mediaPlayer.setDataSource(soundPath);
    mediaPlayer.prepare();

    TrackInfo info = mediaPlayer.getTrackInfo()[0];
    MediaFormat mf = 

1 个答案:

答案 0 :(得分:3)

您需要使用MediaExtractorMediaFormat来访问KEY_CHANNEL_COUNT

这是一个例子,

MediaExtractor extractor = new MediaExtractor();
extractor.setDataSource(path);
//where path is a String variable and points to the data source
MediaFormat format = extractor.getTrackFormat(i);
//where i is an int variable and denotes the index value of a track.
//For the first track: i = 0; 
int count = format.getInteger(MediaFormat.KEY_CHANNEL_COUNT);

我还建议您阅读Android Developer Reference中的MediaExtractor类说明中的示例。这是链接:

http://developer.android.com/reference/android/media/MediaExtractor.html

我希望这会有所帮助。快乐的编码。