在Android应用程序中播放电台

时间:2015-07-30 18:38:45

标签: android radio android-music-player

如何在radio station中使用Media Player播放Android

我正在使用带有

两首歌曲的iRadeo station
   url:"https://www.iradeo.com/station/133063" 

但是当我尝试做的时候

   Uri myUri = Uri.parse("https://www.iradeo.com/station/133063"); 

Media Player会抛出错误java.io.FileNotFoundException: No content provider

但是当我尝试使用.../.../station/133063/download-track/469508作为我的新uri来播放此电台中的特定歌曲时,Media Player正常工作,应用程序开始播放该歌曲。

有谁知道为什么我无法使用iRadeo radio电台网址播放整个播放列表?谢谢!

1 个答案:

答案 0 :(得分:1)

您的链接指向HTML页面,MediaPlayer无法播放,因为它不是音乐文件。虽然您可以在浏览器中打开该页面时播放歌曲,但MediaPlayer并不知道。因此,您必须指向服务器上的实际歌曲文件,然后依次播放它们。

你是怎么做到的?我想你不会事先知道会有什么歌。如果您这样做,只需使用指向该文件的链接,例如您发布的文件,并跳过此段落。如果你不这样做,事情就会变得棘手 除非iRadeo有这样的东西的公共API,否则我认为没有简单的解决方案。
但有一点hacky并不那么容易:因为你有旁边的歌曲和链接列表,你可以从HTML页面中提取这些链接。一般的方法是这样:找到页面上的歌曲列表,列表中的每个项目找到下载按钮并使用其链接。我无法帮助你。请注意 - 网站实施的任何更改都可能会破坏您的代码。

找到文件后,就可以播放它们了。您可以在此处找到如何执行此操作:https://stackoverflow.com/a/14548795/2078587。只需使用URIs原始文件。

PS。我不善于解释事情。如果你什么都不懂,请随意提问。