java - 尝试使用 java/android 从 url 流获取元数据时出错

标签 java android metadata audio-streaming mediametadataretriever

我在尝试从 URL 流获取元数据时没有得到任何值。

String url;
        FFmpegMediaMetadataRetriever mmr = new FFmpegMediaMetadataRetriever();
        url = "http://stream.radiojar.com/rxmkwt2p5tzuv";
        mmr.setDataSource(url, new HashMap<String, String>());
        mmr.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ALBUM);
        mmr.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ARTIST);
        //String all = mmr.toString();
        Log.i("metadata",mmr.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ALBUM));

我收到错误 java.lang.NullPointerException: println 需要一条消息。 这是因为字符串是空的。 如果我尝试

String all = mmr.toString();
        Log.i("metadata",all);

我的 println 给了我

I/metadata: wseemann.media.FFmpegMediaMetadataRetriever@fd7a190

有什么想法吗?我尝试过各种不同的流,但除了 @ 之后的字母/数字不同之外,所有流都给出相同的结果。

最佳答案

我不知道这个库以及 FFmpegMediaMetadataRetriever#extractMetadata 的工作原理。我怀疑对 mmr.extractMetadata() 的第二次调用是 null 因为它已经在上面的三行中被“提取”了。

关于java - 尝试使用 java/android 从 url 流获取元数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62417302/

相关文章:

android - Android 中 TCP 连接的超时值是多少?

在 Android Studio 中运行 Android 应用程序时出现 Java 堆空间错误

android - 我在哪里可以找到默认的 android xml 绘图?

javascript - Facebook 通过 ID 获取全名,无需访问 token

hadoop - Hive Metastore更新

java - 如何将本地日期时间转换为格林威治标准时间?

java - 当调用 setCharacterAttributes 时,JEditorPane HTMLDocument 将 p-implied 添加到 HTML 中,这是不必要的

java - 从一个测试类调用两个相同的类并比较结果

java - 日志记录不适用于 Spring boot 2.1.1 和 JDK 11 升级

java 提取jpeg图像细节