如何获取音频文件的通道数
how to get channel count of audio file
我正在尝试使用 TrackInfo
和 MediaFormat
检索 .wav 声音文件的声道数,但我似乎无法获得我认为的 MediaFormat
对象的句柄将提供频道数。
我已尝试遵循此 instruction 但没有帮助。
这是我目前所拥有的
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(soundPath);
mediaPlayer.prepare();
TrackInfo info = mediaPlayer.getTrackInfo()[0];
MediaFormat mf =
您需要使用 MediaExtractor
和 MediaFormat
访问 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
希望对您有所帮助。编码愉快。
我正在尝试使用 TrackInfo
和 MediaFormat
检索 .wav 声音文件的声道数,但我似乎无法获得我认为的 MediaFormat
对象的句柄将提供频道数。
我已尝试遵循此 instruction 但没有帮助。
这是我目前所拥有的
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(soundPath);
mediaPlayer.prepare();
TrackInfo info = mediaPlayer.getTrackInfo()[0];
MediaFormat mf =
您需要使用 MediaExtractor
和 MediaFormat
访问 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
希望对您有所帮助。编码愉快。