gpt4 book ai didi

android - 如何查看正在使用媒体播放器播放的广播音频的标题/艺术家?

转载 作者:行者123 更新时间:2023-12-03 02:13:02 26 4
gpt4 key购买 nike

我制作了一个连接到 radio 并使用 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 时,应用程序不再响应(不关闭应用程序)。我认为问题是“上下文”,有谁知道它是什么?我不知道如何初始化这个变量。
任何人都可以帮助我吗?非常感谢你。

最佳答案

尝试

MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(myContext, myUri)

String albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);

等等

虽然需要 api 10

关于android - 如何查看正在使用媒体播放器播放的广播音频的标题/艺术家?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com