MediaMetaDataReceiver.setDataSource Android 上的 IllegalArgumentException

IllegalArgumentException on MediaMetaDataReceiver.setDataSource Android

我想在从“http://usa8-vn.mixstream.net:8138". The stream is work but I don't know why when I want to get song title with MediaMetaDataReceiver, it always says IllegalArgumentException. I already using this code 流式传输时获取歌曲名称和名称,但不知为何它对我不起作用。

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,但是当我将 link 用于 MediaPlayer 时,它的工作方式如下

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("http://usa8-vn.mixstream.net:8138");

请帮助我,谢谢。

如果我没记错的话,存在与 MediaMetadataRetriever 相关的错误。

你可以试试看:

metaRetreiver.setDataSource("http://usa8-vn.mixstream.net:8138", new HashMap<String, String>());

解决了您的问题。