MediaPlayer中的视频/ 3gpp在设备上

时间:2017-08-29 19:08:11

标签: codenameone

我正在构建一个聊天应用。我正在尝试添加对视频的支持。

视频的网址为https://api.twilio.com/2010-04-01/Accounts/AC5c869939f6863233a73ac697207c3697/Messages/MMf01fb40e39c41feafbc0967590f161e8/Media/MEbd3e3d9a0c2be95e01de341889e8cfbb

{{1}}

当我进行调试构建并将其放在我的iPhone上时,我只得到一个黑盒子,我期待视频播放器。

在模拟器中,我有播放控件,但没有视频。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

这样的东西应该在设备上工作,虽然模拟器可能有点不稳定:

Form hi = new Form("Player", new BorderLayout());
try {
    Media video = MediaManager.createMedia("https://api.twilio.com/2010-04-01/Accounts/AC5c869939f6863233a73ac697207c3697/Messages/MMf01fb40e39c41feafbc0967590f161e8/Media/MEbd3e3d9a0c2be95e01de341889e8cfbb", true); 
    hi.add(CENTER, video.getVideoComponent());
    video.setNativePlayerMode(true);
    hi.show();
    hi.addShowListener(e -> video.play());
} catch(IOException err) {
    Log.e(err);
    hi.add(CENTER, "Failed to load video");
    hi.show();
}

请注意以下几点:

  1. 由于JavaFX的限制,模拟器不支持用于媒体的HTTPS URL。它不支持某些视频流类型,可能无法正常支持3gp

  2. iOS需要HTTPS网址

  3. 我将视频组件放在一个表单中的边框布局的中心。这会强制视频的特定大小,这很重要。

答案 1 :(得分:0)

不支持3gp。我将视频转换为mp4并将该文件的URL提供给媒体管理器,它工作正常。