我制作了一个连接收音机并使用MediaPlayer播放音频的程序。我想打印艺术家,歌曲标题......但我不知道如何。
我尝试使用MediaStore.Audio.Media.ARTIST这样做,但它没有用,因为我无法链接"使用MediaStore的uri,所以当我使用这个命令时,它在我的SD目标中搜索音乐。
之后,我尝试使用MetaMediadataRetriever执行此操作:
private void play() {
textView.setText("Conectando con la radio......");
Uri myUri = Uri.parse("http://streamingraddios.com:9169");
try {
if (mp == null) {
this.mp = new MediaPlayer();
} else {
mp.stop();
mp.reset();
}
mp.setDataSource(this, myUri);
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
// mmr.setDataSource(this, myUri);
//String ton= mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setOnPreparedListener(this);
mp.setOnBufferingUpdateListener(this);
mp.setOnErrorListener(this);
mp.prepareAsync();
Log.d(TAG, "LoadClip Done");
} catch (Throwable t) {
Log.d(TAG, t.toString());
}
}
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
textView.setText("");
textView.setText("Hola: " +ton);
}
但是当使用变量mediametadataretriever连接URI时,应用程序不再响应(不关闭应用程序)。我认为问题是"背景",有谁知道它是什么?我不知道如何将这个变量理论化。 有人可以帮帮我吗?非常感谢你。
答案 0 :(得分:0)
尝试
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(myContext, myUri)
String albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
等
需要api 10但