在Android中获取在线电台歌曲详情

时间:2013-05-25 11:25:17

标签: android android-mediaplayer radio

我必须在我的Android应用中流式播放第三方广播电台。 这是我的代码,它运作良好。

        Uri myUri = Uri.parse(RADIO_STATION_URL);
        try {
            this.mp = new MediaPlayer();

            mp.setDataSource(this, myUri);
            mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mp.setOnPreparedListener(this);
            mp.setOnBufferingUpdateListener(this);
            mp.setOnErrorListener(this);
            mp.setOnCompletionListener(this);
            mp.prepareAsync();
            mp.setScreenOnWhilePlaying(true);

        } catch (Throwable t) {
            logcat t details
        }

并在媒体文件准备好播放时启动媒体播放器。有没有办法获得目前正在播放的歌曲细节? (如歌曲,曲目等)。

1 个答案:

答案 0 :(得分:2)

如果您使用的是API 10或更高版本,则可以使用MediaMetadataRetriver API

这将是这样的:

MediaMetadataRetriever mMediaMetaDataRetriever = new MediaMetadataRetriever();
mMediaMetaDataRetriever.setDataSource(myContext, myUri)
String albumName =  mMediaMetaDataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM;
String artistName =  mMediaMetaDataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST;
String titleName = mMediaMetaDataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);

您也可以查看this thread