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

how to get channel count of audio file

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

我已尝试遵循此 instruction 但没有帮助。

这是我目前所拥有的

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

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

您需要使用 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);

我还建议阅读 MediaExtractor Class 描述中的示例 Android 开发人员参考。这是 link:

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

希望对您有所帮助。编码愉快。