【问题标题】:int bitrate = mediaformat.getInteger(MediaFormat.KEY_BIT_RATE) is returning NullPointerExceptionint bitrate = mediaformat.getInteger(MediaFormat.KEY_BIT_RATE) 正在返回 NullPointerException
【发布时间】:2021-06-15 07:53:27
【问题描述】:

我是 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(文件路径); int 比特率 = Integer.valueOf(m.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE));为我工作:)
  • 如果这解决了您的问题 - 请将其写为答案并将其标记为已解决。

标签: android android-studio android-mediacodec mediaextractor


【解决方案1】:

使用

修复了这个问题

MediaMetadataRetriever 类。

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

成功了

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    相关资源
    最近更新 更多