【问题标题】:MediaMetadataRetriever on streaming source流媒体源上的 MediaMetadataRetriever
【发布时间】:2013-03-20 02:40:39
【问题描述】:

我很难显示从流媒体源播放的当前曲目。使用 MediaMetaDataRetriever 类返回 NULL,这意味着它失败了。我写了一个简单的方法,但现在我倾向于认为这仅适用于 MP3、WMA、AVI 等媒体文件。

public void metaData(){
        mmr.setDataSource(urlStation);
        String metaD = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUMARTIST);
        Toast.makeText(MainActivity.this, "Artist = " + metaD, Toast.LENGTH_LONG).show();

任何好的和简单的建议将不胜感激。感谢您的宝贵时间!

【问题讨论】:

    标签: android media-player metadata


    【解决方案1】:

    MediaMetadataRetriever 不适用于某些 Android 版本上的 URL,请参阅this 问题。我创建了FFmpegMediaMetadataRetriever 作为解决方法,我建议尝试一下。

    【讨论】:

    • 感谢威廉的回答。这应该有助于解决我的问题。
    • 仅适用于媒体文件,不适用于流媒体源。
    • William Seemann 是否在 youtube 视频上工作。我尝试了一下,但我得到了无法检索元数据的错误...
    • 你用的是什么网址?
    • 不幸的是,该库现在无法正常工作。它正在抛出未解决的setDataSource failed: status = 0xFFFFFFFF。是他们的任何替代解决方案。
    【解决方案2】:

    根据另一个答案中列出的相同issue,您只需使用带有这些参数的 setDataSource 方法:

    setDataSource(String uri, Map<String, String> headers)
    

    例如,

    public void getStreamMetaData(String url){
      MediaMetadataRetriever mmr = new MediaMetadataRetriever();
      mmr.setDataSource(url, new HashMap<String, String>());
      //now do whatever you want
    
    }
    

    我用流媒体 mp4 对其进行了测试,它对我有用。另外请注意,您需要在 AsyncTask 或另一个线程中使用 setDataSource 方法,因为根据文档运行可能需要一段时间。

    【讨论】:

    • 对我来说,在这种情况下,所有返回的字符串都是空的......但是 vlc 可以很好地获取信息。
    • 但需要时间。
    • 在使用 Kotlin 的 Android 9 中非常适合我:retriever.setDataSource(videoUrl, hashMapOf())
    • @rjr-apps 你有代码示例,我可以看看你是如何工作的吗?
    • @Martin - 我真正能给出的唯一例子已经在那个评论中了。您是否尝试过没有成功?
    【解决方案3】:

    这种方法效果更好:

    public void setDataSource (String uri, Map<String, String> headers)
    

    (带有您的流的 url 和一个空地图,例如 setDataSource("https://somewebsite.com/somefile.mp3", new HashMap&lt;String,String&gt;());)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-14
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 2019-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多