Android - 互联网广播流媒体

标签 android streaming internet-radio

<分区>

我打算为一个本地广播电台制作一个 Android 应用程序 我需要制作广播节目的互联网流媒体 您能否为此提供一些起点、一些教程或其他内容。

最佳答案

源的 URL 是:http://shoutcast2.omroep.nl:8104/

要初始化 MediaPlayer,您需要几行代码。给你:

MediaPlayer player = new MediaPlayer();
player.setDataSource("http://shoutcast2.omroep.nl:8104/");

现在 MediaPlayer 对象已初始化,您可以开始流式传输了。好吧,实际上不是。您将需要发出 MediaPlayer 的准备命令。这有 2 种变体。

<强>1。 prepare():这是一个同步调用,它会被阻塞,直到 MediaPlayer 对象进入准备状态。如果您尝试播放需要 MediaPlayer 更长时间的本地文件,这是可以的,否则您的主线程将被阻塞。 prepareAsync():顾名思义,这是一个异步调用。它立即返回。但是,很明显,这并不意味着 MediaPlayer 已经准备就绪。您仍然需要等待它进入准备状态,但由于此方法不会阻塞您的主线程,因此您可以在尝试从其他地方流式传输某些内容时使用此方法。当 MediaPlayer 通过 onPrepared(MediaPlayer mp) 方法准备就绪时,您将得到一个回调,然后,播放就可以开始了。 因此,对于我们的示例,最佳选择是:

<强>2。 player.prepareAsync(); 您需要将监听器附加到 MediaPlayer 以在准备好时接收回调。这是相关代码。

player.setOnPreparedListener(new OnPreparedListener(){
            public void onPrepared(MediaPlayer mp) {
                     player.start();
            } 
});

关于Android - 互联网广播流媒体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8894832/

相关文章:

Icecast 介绍文件

android - Lollipop 版软键盘隐藏EditText

java - jfieldID 对于对象无效

c# - 来自字节数组移位的位图

iphone - 如何使用数据包嗅探器确定应用程序是否使用 HTTP Live Streaming?

java - Spring REST API 播放实时音频

encoding - 如何在 FFMPEG 中编码特定的元数据版本?

android - 待定 Intent 立即触发

java - 未收到来自服务器 : Java.net.SocketException 的响应:recvfrom 失败:ECONNRESET

用于直接消息 (DM) 的 Twitter 流 API