我正在尝试使用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);

我还建议您阅读Android开发者引用中MediaExtractor类说明中的示例。链接在这里:

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

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

10-06 14:25