Mar*_*uis 10 android metadata media-player
我很难从流媒体源播放当前曲目.使用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();
Run Code Online (Sandbox Code Playgroud)
任何好的和容易的建议将不胜感激.感谢您的时间!
Wil*_*ann 12
MediaMetadataRetriever不适用于某些Android版本的URL,请参阅此问题.我创建了FFmpegMediaMetadataRetriever作为解决方法,我建议尝试一下.
小智 7
根据另一个答案中列出的相同问题,您只需要将setDataSource方法与这些参数一起使用:
setDataSource(String uri, Map<String, String> headers)
Run Code Online (Sandbox Code Playgroud)
所以,例如,
public void getStreamMetaData(String url){
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(url, new HashMap<String, String>());
//now do whatever you want
}
Run Code Online (Sandbox Code Playgroud)
我用流式mp4测试它,它对我有用.另外,您还需要在AsyncTask或其他线程中使用setDataSource方法,因为根据文档运行可能需要一段时间.
| 归档时间: |
|
| 查看次数: |
9706 次 |
| 最近记录: |