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 audio-element またはブラウザーの制限のように聞こえます。

回避策として、新しいオーディオ コンポーネントを削除して追加することができます。これは非常に軽量な操作であり、追加のオーバーヘッドは発生しません。

于 2012-08-30T08:00:39.627 に答える