使用Codename One流式传输实时音频

时间:2017-02-26 20:43:47

标签: codenameone

我试图说服我的一个朋友使用CN1作为移动应用程序的开发平台。他提出的挑战之一是能够使用CN1应用程序从电台流式传输实时音频。

我已经查看了文档,我可以看到加载手机上已有的媒体文件的示例,但是我看不到一个示例,您可以将其指向URL并流式传输实时音频。

您可能已经猜到他有兴趣开发远程广播电台的广播应用程序,而这些应用程序还没有自己的

是否可以在CN1中执行此操作?

2 个答案:

答案 0 :(得分:1)

CN1很有可能,过去开发人员的数量也很多。

您可以使用MediaManager并将其指向远程流媒体网址。

以下内容适用于从远程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();

答案 1 :(得分:0)

为了避免此错误"此平台不支持视频播放",在处理视频流时,您必须将此isVidio参数设为真。

Media audio = MediaManager.createMedia(streamingUrl, true);