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