使用代号一流式传输实时音频
Streaming Live audio using Codename One
我正试图说服我的一个朋友使用 CN1 作为他的移动应用程序开发平台。他提出的挑战之一是使用 CN1 应用程序从广播电台流式传输实时音频的能力。
我查看了文档,我可以看到加载媒体文件的示例,这些文件已经在 phone 上,但是我看不到将它指向 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();
为避免此错误 "Video Playing is not supported on this platform",您必须在处理视频流时像这样将 isVidio
参数设置为 true。
Media audio = MediaManager.createMedia(streamingUrl, true);
我正试图说服我的一个朋友使用 CN1 作为他的移动应用程序开发平台。他提出的挑战之一是使用 CN1 应用程序从广播电台流式传输实时音频的能力。
我查看了文档,我可以看到加载媒体文件的示例,这些文件已经在 phone 上,但是我看不到将它指向 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();
为避免此错误 "Video Playing is not supported on this platform",您必须在处理视频流时像这样将 isVidio
参数设置为 true。
Media audio = MediaManager.createMedia(streamingUrl, true);