尝试从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为空。如果我尝试
String all = mmr.toString();
Log.i("metadata",all);
我的println给了我
I/metadata: wseemann.media.FFmpegMediaMetadataRetriever@fd7a190
有什么想法吗?我尝试了各种不同的流,但是除了@之后的字母/数字不同,其他所有流都提供相同的结果。
我不知道此库以及FFmpegMediaMetadataRetriever#extractMetadata
的工作方式。我怀疑对mmr.extractMetadata()
的第二个调用是null
,因为它已经在上面三行中“提取”了。