int bitrate = mediaformat.getInteger(MediaFormat.KEY_BIT_RATE) 正在返回 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: 尝试在空对象引用上调用方法“int java.lang.Integer.intValue()”

解决方法

使用

修复了这个问题

MediaMetadataRetriever 类。

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

这有效

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...