Audio Vaadin播放音频移动设备

Audio Vaadin播放音频移动设备,audio,vaadin7,Audio,Vaadin7,我想在Android和iOS设备上为基于Vaadin的网站播放通知音。通知声音在桌面上工作得非常完美。如何让它在移动设备上工作 我使用的是“音频”组件,没有显示任何控件,只在需要时“播放”。这是一个非常短的声音和小文件 编辑2017年6月1日(我的当前实施): 首先,在我非常简单的表单的构造函数中: barcode.setInputPrompt("Barcode"); barcode.setCaption("Barcode"); barcode.setMaxLength(

我想在Android和iOS设备上为基于Vaadin的网站播放通知音。通知声音在桌面上工作得非常完美。如何让它在移动设备上工作

我使用的是“音频”组件,没有显示任何控件,只在需要时“播放”。这是一个非常短的声音和小文件

编辑2017年6月1日(我的当前实施): 首先,在我非常简单的表单的构造函数中:

    barcode.setInputPrompt("Barcode");
    barcode.setCaption("Barcode");
    barcode.setMaxLength(22);
    barcode.setNullRepresentation("");
    barcode.setRequired(true);

    submit = new Button("Submit");

    addComponents(barcode, facilityId, submit );

    submit.setStyleName(ValoTheme.BUTTON_PRIMARY);
    submit.setClickShortcut(KeyCode.ENTER);

    submit.addClickListener(e->this.handleSubmit());

    goodScan = new Audio(null, new ThemeResource( "sounds/good-scan.mp3"));
    goodScan.setAutoplay(false);
    goodScan.setShowControls(false);

    badScan = new Audio(null, new ThemeResource( "sounds/bad-scan.mp3"));
    badScan.setAutoplay(false);
    badScan.setShowControls(false);

    addComponents( goodScan, badScan );
注意,我关闭了自动播放和控制,所以它不会显示在屏幕上。实际上,至少在我的例子中,“setshowcontols(false)”似乎是隐藏事物的东西。稍后,在我的submit方法中,我有以下内容(“…”表示不相关的代码):

上述方法适用于台式机,但在Android和iOS设备上(如果有的话)并不一致。从最初的帖子开始,我就没有深入研究过这个问题,因为我自己也没有什么想法,我问过的人也没有什么新东西可以提供


综上所述,上面的代码应该适用于Vaadin 8(敲打木头),这可能会对您有所帮助,Basil。

我也想在我的Vaadin 8应用程序中播放一小段“嘟嘟”声以引起用户的注意。示例:两次输入新密码时不匹配。我可以在台式机上使用“哔哔”声,但不能在移动设备上使用,至少在Vaadin 7上是这样。我将在我的原始帖子中添加一个代码/伪代码片段。它可能会帮助您,也可能会帮助其他人回答我的问题。我在推送通知部分实现通知用户他们已收到消息。很有见地!
    private void submit() { 
        try {       
...
            barcode.setValue(null);
            barcode.focus();
            goodScan.play();
        } catch (WMSException e) {
...
            Notification.show("Consumption Scan Error", message, Type.ERROR_MESSAGE);
            barcode.focus();
            badScan.play();
        }
...
    }