【发布时间】:2014-04-23 01:26:45
【问题描述】:
我制作了一个连接到收音机并使用 MediaPlayer 播放其音频的程序。我想打印艺术家、歌名……但我不知道怎么做。
我尝试使用 MediaStore.Audio.Media.ARTIST 执行此操作,但它不起作用,因为我无法将 uri 与 MediaStore“链接”,所以当我使用此命令时,它会在我的 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 时,应用程序不再响应(不关闭应用程序)。我认为问题是“上下文”,有谁知道它是什么?我不知道如何初始化这个变量。 任何人都可以帮助我吗?非常感谢。
【问题讨论】:
-
您到底尝试了什么(任何代码 sn-p)但不起作用?
标签: android audio android-mediaplayer radio mediastore