我想获取一个音频文件的比特率、采样率、通道数
我使用代码
@SuppressLint("NewApi")
public void GetSampleRate(String path)
{
MediaExtractor mex = new MediaExtractor();
try {
mex.setDataSource(new File(path).getAbsolutePath());// the adresss location of the sound on sdcard.
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MediaFormat mf = mex.getTrackFormat(0);
bitRate = mf.getInteger(MediaFormat.KEY_BIT_RATE);
sampleRate = mf.getInteger(MediaFormat.KEY_SAMPLE_RATE);
channelCount = mf.getInteger(MediaFormat.KEY_CHANNEL_COUNT);
}
但是当编译器出现在这一行时
mex.setDataSource(new File(path).getAbsolutePath());
logcat 显示一个错误
10-13 12:57:52.772: E/WVMExtractor(9554): Failed to open libwvm.so: dlopen failed: library "libwvm.so" not found
然后当我尝试获取 bitRate、sampleRate、channelCount 时出现此错误。
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference