Codename One的MediaPlayer可在Simulator中使用,但可在Android上使用

时间:2018-09-24 15:05:04

标签: codenameone

我想要一个简单的表单来显示来自公共URL的视频。因此,我找到了MediaPlayer控制器,并从docs

复制了该示例
final Form hi = new Form("MediaPlayer", new BorderLayout());
hi.setToolbar(new Toolbar());
Style s = UIManager.getInstance().getComponentStyle("Title");
FontImage icon = 
FontImage.createMaterial(FontImage.MATERIAL_VIDEO_LIBRARY, s);

hi.getToolbar().addCommandToRightBar(new Command("", icon) {
    @Override
    public void actionPerformed(ActionEvent evt) {
        Display.getInstance().openGallery((e) -> {
            if(e != null && e.getSource() != null) {
                String file = (String)e.getSource();
                try {
                    Media video = MediaManager.createMedia(file, true);
                    hi.removeAll();
                    hi.add(BorderLayout.CENTER, new MediaPlayer(video));
                    hi.revalidate();
                } catch(IOException err) {
                    Log.e(err);
                } 
            }
        }, Display.GALLERY_VIDEO);
    }
});
hi.show();

它在模拟器中完美运行,出现了按钮,当我选择一个视频文件时,该组件就出现了。

但是,在实际的Android设备上进行测试时,选择视频后,一切都没有。我想知道我是否错过了一些配置。我正在寻找最简单的方法来在Codename One for Android上运行视频。

编辑:看来Display#openGallery中的事件侦听器没有被调用。

0 个答案:

没有答案