任何人都可以告诉我如何实现一个独立的Java客户端来播放FM收音机。 我在网上搜索找不到任何有用的东西。我们需要实现的所有API是什么,一旦实现结束,如何测试它?
答案 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的链接。
使用Java Web Services,您可以轻松地与您的应用程序集成。