0

我正在尝试在 Vaadin 中编写音乐播放器。我正在使用它内置的音频组件。

我希望它工作的方式是我在树中选择一个文件并播放该音频文件。

我在树处理程序中设置了正确的源文件:

Tree tree = new Tree();
    FilesystemContainer container = new FilesystemContainer(file);
    tree.setContainerDataSource(container);
    tree.setImmediate(true);
    mainWindow.addComponent(tree);

tree.addListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {

            System.out.println(event);
            File file = (File) event.getProperty().getValue();
            FileResource resource = new FileResource(file, application);
            audio.setSource(resource);
            audio.pause();
            audio.requestRepaint();
        }
    });

但是,我必须手动刷新页面才能使其正常工作。如何在不刷新页面的情况下让音频组件拾取新源?

4

1 回答 1

0

听起来像是 HTML5 音频元素或相关浏览器的限制。

作为一种解决方法,您可以尝试删除并添加新的音频组件。这是非常轻量级的操作,不会造成任何额外的开销。

于 2012-08-30T08:00:39.627 回答