2
我正在建立一个无线电播放器,我需要实时从音频流中检索和更新元数据。如何使用MediaPlayer获取流媒体音频元数据?
我已经与MediaMetadataRetriever
尝试,但得到空值:
MediaMetadataRetriever mmr;
url = "http://stream0.wfmu.org/freeform-128k";
if (Build.VERSION.SDK_INT >= 14)
mmr.setDataSource(url, new HashMap<String, String>());
else
mmr.setDataSource(url);
String out = "";
out += mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
out += "\n";
out += mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
out += "\n";
out += mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
out += "\n";
out += mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_YEAR);
out += "\n";
有什么不对?
我该如何知道元数据何时更改?使用OnInfoListener
的onInfo
?它是否处理我感兴趣的元数据(艺术家,标题...)或曲目的类型或语言代码,如MediaPlayer.TrackInfo
?
我无法从'/ stats'或'/ 7.html'获取任何数据,因此我遵循http://www.smackfu.com/stuff/programming/shoutcast.html中的说明。 – jul