2

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

4

2 回答 2

8

除了AurA答案...

您可以使用JLayer 库轻松阅读和播放大多数网络收音机。该库也是跨平台的,此外,还允许您播放任何 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 方法将处理其调用的线程,直到发生某些事情(例如与无线电服务器的连接中断或您停止流)。

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

于 2012-06-19T12:30:05.183 回答
6

您可以使用 Webservices API 访问许多 Radio 网站

我正在在线发布最流行的广播 api 的链接。

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

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

于 2012-06-19T09:45:20.663 回答