【问题标题】:android mediaplayer get playing urlandroid mediaplayer 获取播放网址
【发布时间】:2015-03-05 17:57:03
【问题描述】:

我有兴趣检索媒体播放器的当前 url 或 uri。 如果我跑:

String url = "http://........"; // your URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();

有没有办法让我获得这个媒体播放器正在运行的网址?

【问题讨论】:

  • 你是说媒体的文件名?
  • 是的,我需要知道传递给这个媒体播放器的 url 是什么。我需要知道媒体播放器正在播放什么 url 或 uri。一个字符串,其中包含正在播放的示例“localhost/a.m3u8”或正在播放的内容,在那一刻。假设我的初始“String url”变为空,我想取回它,例如。
  • 是的,有一种方法可以获取该网址。等待我的回答

标签: android android-mediaplayer


【解决方案1】:
class CustomMediaPlayer extends MediaPlayer
{
    String dataSource;

    @Override
    public void setDataSource(String path) throws IOException, IllegalArgumentException, SecurityException, IllegalStateException
    {
        // TODO Auto-generated method stub
        super.setDataSource(path);
        dataSource = path;
    }

    public String getDataSource()
    {
        return dataSource;
    }
}

使用此 CustomMediaPlayer 类代替 MediaPlayer 来获取传递给 MediaPlayer 的当前 url。

我希望这段代码可以帮助您获取网址:

String url = "http://........"; // your URL here
CustomMediaPlayer customMediaPlayer = new CustomMediaPlayer ();
customMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
customMediaPlayer.setDataSource(url);
customMediaPlayer.prepare(); // might take long! (for buffering, etc)
customMediaPlayer.start();
String url1 = customMediaPlayer.getDataSource();// get your url here

【讨论】:

  • 非常好的答案,非常感谢。好主意。但是你认为这可以使用反射来代替扩展媒体播放器类吗?
  • 我的应用程序正在使用显示视频的 webview,使用 MediaPlayer,我想知道 MediaPlayer 正在播放的 url 是什么,所以我不能直接扩展媒体播放器类,但我认为反射可以。但我不知道具体怎么做
  • 我需要对此进行研究。如果我得到什么,现在就让你
猜你喜欢
  • 2017-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 2012-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多