我在尝试从 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/