GamepadHapticActuator: playEffect() Methode

Die playEffect() Methode des GamepadHapticActuator Interfaces sorgt dafür, dass die Hardware einen bestimmten Vibrationseffekt abspielt.

Syntax

js
playEffect(type, params)

Parameter

type

Ein String, der den gewünschten Effekt darstellt. Mögliche Werte sind "dual-rumble" und "trigger-rumble", und ihre Effekte können je nach Hardwaretyp variieren. Weitere Details zu den Effektarten finden Sie unter GamepadHapticActuator.effects.

params

Ein Objekt, das einen gewünschten haptischen Effekt beschreibt.

Erwartete Werte sind:

duration Optional

Die Dauer des Effekts in Millisekunden. Standardwert ist 0.

startDelay Optional

Die Verzögerung in Millisekunden, bevor der Effekt gestartet wird. Standardwert ist 0.

strongMagnitude Optional

Die Rumblesintensität der Niederfrequenz- (starken) Rumblemotoren, normalisiert auf den Bereich zwischen 0.0 und 1.0. Standardwert ist 0.0.

weakMagnitude Optional

Die Rumblesintensität der Hochfrequenz- (schwachen) Rumblemotoren, normalisiert auf den Bereich zwischen 0.0 und 1.0. Standardwert ist 0.0.

leftTrigger (nur relevant für "trigger-rumble" Effekte) Optional

Die Rumblesintensität des unteren linken Frontabzugs, normalisiert auf den Bereich zwischen 0.0 und 1.0. Standardwert ist 0.0.

rightTrigger (nur relevant für "trigger-rumble" Effekte) Optional

Die Rumblesintensität des unteren rechten Frontabzugs, normalisiert auf den Bereich zwischen 0.0 und 1.0. Standardwert ist 0.0.

Hinweis: Ein neuer Aufruf von playEffect() überschreibt einen vorhergehenden laufenden Aufruf.

Rückgabewert

Ein Promise, das mit "complete" aufgelöst wird, wenn der Effekt erfolgreich abgeschlossen wird, oder "preempted", wenn der aktuelle Effekt gestoppt oder durch einen anderen Effekt ersetzt wird.

Das Promise kann mit folgenden Ausnahmearten abgelehnt werden:

InvalidStateError DOMException

Das aktuelle Dokument ist nicht aktiv oder versteckt.

NotSupportedError DOMException

Der angeforderte type wird vom aktuellen Gamepad-Aktor nicht unterstützt.

TypeError DOMException

Der angeforderte type ist kein gültiger Effekt-Typ.

Beispiele

js
const gamepad = navigator.getGamepads()[0];

gamepad.vibrationActuator
  .playEffect("dual-rumble", {
    startDelay: 0,
    duration: 200,
    weakMagnitude: 1.0,
    strongMagnitude: 1.0,
  })
  .then((result) => console.log(result));
// Should log "complete" if effect successfully runs

Spezifikationen

Specification
Gamepad
# dom-gamepadhapticactuator-playeffect

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch