我想从“http://usa8-vn.mixstream.net:8138”流式传输时获取歌曲标题和名称。流是工作但我不知道为什么当我想用MediaMetaDataReceiver获得歌曲标题时,它总是说IllegalArgumentException。我已经使用了这段代码https://stackoverflow.com/a/10973324/2565280,但不知何故它对我不起作用。
MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever();
metaRetreiver.setDataSource("http://usa8-vn.mixstream.net:8138");
String artist = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
String title = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
第2行总是出错,并说IllegalArgumentException,但是当我使用MediaPlayer的链接时,它就像这样工作
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("http://usa8-vn.mixstream.net:8138");
请帮帮我,谢谢。
答案 0 :(得分:3)
如果我没弄错的话,就会出现与MediaMetadataRetriever相关的错误。
您可以尝试查看是否:
metaRetreiver.setDataSource("http://usa8-vn.mixstream.net:8138", new HashMap<String, String>());
解决了您的问题。