本页面由葡萄牙语机器翻译,可能存在错误。葡萄牙语版本为准。
如何振动、发出蜂鸣声并使用剪贴板
目的。 向用户提供快速反馈:让设备振动、播放一声蜂鸣并 在剪贴板中复制/粘贴文本。
使用的 API
Device.vibrate(int millis)— 振动millis毫秒。在 iOS 上时长会被忽略(该平台无法设置时长)。Device.beep()— 播放预加载的beep.mp3声音。不阻塞(在 render thread 上调度播放)。Device.clipboardCopy(String s)— 把字符串复制到剪贴板。Device.clipboardPaste()→String— 返回剪贴板中最近的字符串,若为空则返回""。
说明。 它们都是
Device的静态方法。可以安全地从任意线程调用 (beep()内部在 render thread 上调度)。clipboardPaste()永远不会返回null—— 当没有任何内容时返回空字符串。
完整示例(复制、粘贴并运行)
package com.exemplo;
import dev.crossfly.ui.*; // Window, Button, Label
import dev.crossfly.ui.layout.*; // VerticalLayout
import dev.crossfly.device.*; // Device
/** 可执行的主界面。将 launcher 指向此类(classname)并运行:gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
Label resultado = new Label("");
add(LAY_AUTO, resultado);
Button acao = new Button("Vibrar, beep e copiar");
acao.onAction(c ->
{
// 触觉与声音反馈(静态方法,任意线程调用都安全)
Device.vibrate(50); // 50ms(iOS 上忽略)
Device.beep(); // 不阻塞
// 剪贴板
Device.clipboardCopy("Texto para copiar");
String colado = Device.clipboardPaste(); // 剪贴板为空时返回 ""
resultado.setText("Clipboard: " + colado);
});
add(LAY_AUTO, acao);
}
}
下面的片段仅展示核心部分。要运行它,请把它放入上面的
MainWindow骨架中。
最小片段
// 已在源码验证:Device.java (vibrate 第 253 行, beep 第 306 行, clipboardCopy 第 271 行, clipboardPaste 第 279 行)
import dev.crossfly.device.*; // Device
// 触觉与声音反馈
Device.vibrate(50); // 50ms(iOS 上忽略)
Device.beep(); // 不阻塞
// 剪贴板
Device.clipboardCopy("Texto para copiar");
String colado = Device.clipboardPaste(); // 剪贴板为空时返回 ""
深入了解
- 声音与杂项指南:声音与杂项
- 姊妹配方:tts-stt.md
这个页面有帮助吗?感谢你的反馈!