我正计划为一个本地广播电台制作一个Android应用程序 我需要制作无线电节目的互联网流媒体 你能否为此提供一些起点,一些教程或其他内容。
答案 0 :(得分:11)
来源的网址为:http://shoutcast2.omroep.nl:8104/
要初始化MediaPlayer,您需要几行代码。你去了:
MediaPlayer player = new MediaPlayer();
player.setDataSource("http://shoutcast2.omroep.nl:8104/");
现在MediaPlayer对象已初始化,您已准备好开始流式传输。好吧,不是。您需要发出MediaPlayer的prepare命令。这有两种变体。
<强> 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();
}
});