2012-01-17 160 views
4

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

+0

看看android.media.MediaPlayer。它也为流式传输提供了很好的支持。 – harism 2012-01-17 12:53:33

+0

你最终成功了吗?我应该为服务器端做什么?谢谢 – Kenji 2016-05-16 07:56:47

回答

12

为源的网址是: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(); 
      } 
}); 
+1

嗨,我想在我的Android应用程序中实现shoutcast无线电,但我没有得到shoutcast开发密钥。请解释如何在我的应用中实施shoutcast广播。 – 2014-03-15 06:54:09