GamepadHapticActuator.playEffect()

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The playEffect() method of the GamepadHapticActuator interface makes the hardware play a specific vibration pattern.

Syntax

playEffect(type, params)

Parameters

type

A string representing the desired effect. This can vary depending on the hardware type. Possible values are "dual-rumble" or "vibration".

params

An object to describe a desired haptic effect.

Expected values are:

duration

The duration of the effect in milliseconds.

startDelay

The delay in milliseconds before the effect is started.

strongMagnitude

Rumble intensity of the low-frequency (strong) rumble motors, normalized to the range between 0.0 and 1.0.

weakMagnitude

Rumble intensity of the high-frequency (weak) rumble motors, normalized to the range between 0.0 and 1.0.

Note: A new call to playEffect() overrides a previous ongoing call.

Return value

A promise that resolves with true when the playEffect successfully completes.

Examples

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

gamepad.vibrationActuator.playEffect('dual-rumble', {
  startDelay: 0,
  duration: 200,
  weakMagnitude: 1.0,
  strongMagnitude: 1.0,
});

Specifications

No specification found

No specification data found for api.GamepadHapticActuator.playEffect.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility

BCD tables only load in the browser

See also