在 Android 应用程序中播放电台

Play a radio station in Android Application

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

我使用的 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 电台 url 播放整个播放列表?谢谢!

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

你是怎么做到的?我猜你事先不知道那里会有什么歌曲。如果这样做,只需对那些文件使用 links,就像您发布的文件一样,并跳过本段。如果你不这样做,事情可能会很棘手。
除非 iRadeo 有 public API 这样的东西,否则我认为没有简单的解决方案。
但是有一点 hacky 和不那么简单的方法:因为你有歌曲列表和要下载的 links 在它们旁边,你从 HTML 页面提取那些 links。一般的做法是这样的:找到歌曲列表在页面上的位置,并为列表中的每个项目找到下载按钮并使用它的 link。我帮不了你太多了。请注意 - 网站实施的任何更改都可能破坏您的代码。

找到文件位置后,就可以播放它们了。您可以在此处找到操作方法:。只需使用 URI 而不是原始文件。

PS。我不擅长解释东西。有什么不明白的,尽管问。