实现Java fm radio

时间:2012-06-19 09:40:52

标签: java swing

任何人都可以告诉我如何实现一个独立的Java客户端来播放FM收音机。 我在网上搜索找不到任何有用的东西。我们需要实现的所有API是什么,一旦实现结束,如何测试它?

2 个答案:

答案 0 :(得分:7)

除了 AurA 回答......

您可以使用JLayer library 轻松阅读并播放大部分互联网广播。 该库也是跨平台的,另外,允许您播放任何mp3文件。

这是一个小流播放器示例:

import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;

public class RadioConnector
{
    public static void main ( String[] args )
    {
        try
        {
            playRadioStream ( "http://radio.flex.ru:8000/radionami" );
        }
        catch ( IOException e )
        {
            e.printStackTrace ();
        }
        catch ( JavaLayerException e )
        {
            e.printStackTrace ();
        }
    }

    private static void playRadioStream ( String spec ) throws IOException, JavaLayerException
    {
        // Connection
        URLConnection urlConnection = new URL ( spec ).openConnection ();

        // If you have proxy
        //        Properties systemSettings = System.getProperties ();
        //        systemSettings.put ( "proxySet", true );
        //        systemSettings.put ( "http.proxyHost", "host" );
        //        systemSettings.put ( "http.proxyPort", "port" );
        // If you have proxy auth
        //        BASE64Encoder encoder = new BASE64Encoder ();
        //        String encoded = encoder.encode ( ( "login:pass" ).getBytes () );
        //        urlConnection.setRequestProperty ( "Proxy-Authorization", "Basic " + encoded );

        // Connecting
        urlConnection.connect ();

        // Playing
        Player player = new Player ( urlConnection.getInputStream () );
        player.play ();
    }
}

请注意,playRadioStream方法将处理其调用的线程,直到发生某些事情为止(例如连接到无线电服务器中断或停止流)。

P.S。是的,我已将工作无线电URL包含在示例中 - 您可以尝试启动它,您的计算机将开始播放无线电流。

答案 1 :(得分:5)

您可以使用Webservices API的

访问许多广播网站

我在网上发布了最受欢迎的电台api的链接。

http://www.last.fm/api/radio

使用Java Web Services,您可以轻松地与您的应用程序集成。