Codenameone 使用Codename One的流媒体直播音频
我试图说服我的一位朋友使用CN1作为他的移动应用开发平台。他提出的一个挑战是使用CN1应用程序从广播电台传输实时音频的能力 我已经看过了文档,我可以看到加载手机上已经存在的媒体文件的例子,但我看不到你将其指向URL并流式播放实时音频的例子 正如你可能猜到的,他有兴趣为尚未拥有自己电台的远程电台开发电台应用程序Codenameone 使用Codename One的流媒体直播音频,codenameone,Codenameone,我试图说服我的一位朋友使用CN1作为他的移动应用开发平台。他提出的一个挑战是使用CN1应用程序从广播电台传输实时音频的能力 我已经看过了文档,我可以看到加载手机上已经存在的媒体文件的例子,但我看不到你将其指向URL并流式播放实时音频的例子 正如你可能猜到的,他有兴趣为尚未拥有自己电台的远程电台开发电台应用程序 在CN1中有可能做到这一点吗?这在CN1中是很有可能的,过去有很多开发人员这样做过 您可以使用MediaManager并将其指向您的远程流媒体URL 以下用于从远程URL播放音频文件,并可
在CN1中有可能做到这一点吗?这在CN1中是很有可能的,过去有很多开发人员这样做过 您可以使用
MediaManager
并将其指向您的远程流媒体URL
以下用于从远程URL播放音频文件,并可用于流媒体:
Form radio = new Form(new BorderLayout());
Display.getInstance().scheduleBackgroundTask(() -> {
try {
Media audio = MediaManager.createMedia(streamingUrl, false);
audio.prepare();
Display.getInstance().callSerially(() -> {
final MediaPlayer player = new MediaPlayer(audio);
player.setAutoplay(true);
audio.setNativePlayerMode(false);
radio.add(BorderLayout.CENTER, player);
radio.revalidate();
});
} catch (IOException err) {
Log.e(err);
ToastBar.showErrorMessage("Error streaming audio: " + err);
}
});
radio.show();
为避免此错误“此平台不支持视频播放”,在处理视频流时,必须像这样设置isVidio
参数
Media audio = MediaManager.createMedia(streamingUrl, true);
谢谢你。当我运行此代码时,我会看到一个媒体播放器,中间有“视频”一词。当我添加我自己的自定义url(指向广播流)时,我会收到此错误…“此平台不支持视频播放”。我不知道为什么我会看到“视频”消息。我使用Fiddler尝试捕获url。。。这就是我所拥有的。。。好的,那个url不起作用。我已设法获得以下url以在VLC中工作。。。但它仍然给了我CNO中的“视频”错误。我发现有趣的是,当我使用内置的CNO网络监视器时,我看不到任何流量。。。显然,它在调用之前就失败了。它使用本机操作系统来播放媒体。模拟器的行为将与设备截然不同!问题是它不会表现得“更好”。JavaFX中的一个大问题是,它惊人地不能播放仅使用https的http媒体。因此,一些流可能会因为JavaFX糟糕透顶而失败。我们必须在内部将其用于媒体,因为它是Java开发者唯一的媒体API。非常感谢