如何在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
电台网址播放整个播放列表?谢谢!
答案 0 :(得分:1)
您的链接指向HTML页面,MediaPlayer
无法播放,因为它不是音乐文件。虽然您可以在浏览器中打开该页面时播放歌曲,但MediaPlayer
并不知道。因此,您必须指向服务器上的实际歌曲文件,然后依次播放它们。
你是怎么做到的?我想你不会事先知道会有什么歌。如果您这样做,只需使用指向该文件的链接,例如您发布的文件,并跳过此段落。如果你不这样做,事情就会变得棘手
除非iRadeo有这样的东西的公共API,否则我认为没有简单的解决方案。
但有一点hacky并不那么容易:因为你有旁边的歌曲和链接列表,你可以从HTML页面中提取这些链接。一般的方法是这样:找到页面上的歌曲列表,列表中的每个项目找到下载按钮并使用其链接。我无法帮助你。请注意 - 网站实施的任何更改都可能会破坏您的代码。
找到文件后,就可以播放它们了。您可以在此处找到如何执行此操作:https://stackoverflow.com/a/14548795/2078587。只需使用URIs原始文件。
PS。我不善于解释事情。如果你什么都不懂,请随意提问。