int bitrate = mediaformat.getInteger(MediaFormat.KEY_BIT_RATE) 正在返回 NullPointerException

int bitrate = mediaformat.getInteger(MediaFormat.KEY_BIT_RATE) is returning NullPointerException

我是 mediaCodec 的新手,使用 MediaFormat 提取视频信息。 我正在使用:

int width = format.getInteger(MediaFormat.KEY_WIDTH);
int height  = format.getInteger(MediaFormat.KEY_HEIGHT);
int bitrate = format.getInteger(MediaFormat.KEY_BIT_RATE);

高度和宽度正常,我得到正确的高度和宽度,但比特率部分抛出 NullPointerException。

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference

使用

解决了这个问题

MediaMetadataRetriever class.

MediaMetadataRetriever m = new MediaMetadataRetriever();
m.setDataSource(filepath);
int bitrate = Integer.valueOf(m.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE));

这有效