Vaadin播放音频移动设备

时间:2017-04-05 18:45:58

标签: audio vaadin7

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

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

编辑6/1/2017(我目前的实施): 首先,在我的非常简单的形式的构造函数中:

    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 );

请注意,我将自动播放和控件关闭,因此无法显示在屏幕上。实际上,至少在我的情况下," setShowContrtols(false)"似乎隐藏着什么。后来,在我的提交方法中,我有这个(" ..."用于不相关的代码):

    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();
        }
...
    }

上述内容适用于桌面设备,但在Android和iOS设备上无法始终如一地工作(如果有的话)。自从原帖以来我没有重新考虑过这个问题,因为我自己没有想法,而且我提出的问题也没有新的东西。

所有这一切,上面的代码应该适用于Vaadin 8(敲木头),这对你有帮助,Basil。

0 个答案:

没有答案