ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は携帯電話の振動 API コードを実装します

JavaScript は携帯電話の振動 API コードを実装します

PHPz
PHPzオリジナル
2016-05-16 15:47:082529ブラウズ

新しい API がリリースされました。 HTML5 は (近々) ユーザーのデバイスの振動をサポートする予定です。これは明らかに非常に興味深いもので、たとえば、ユーザーにリマインダーを送信し、ゲーム エクスペリエンスを向上させることができます。これを必要とする友人全員が参照できるようになります。

最新のブラウザーで提供される新しい API は、JavaScript 地理位置情報 API などの従来のデスクトップ アプリケーションではなく、携帯電話アプリケーションにますます傾いています。モバイル アプリケーションのみを対象としたもう 1 つの JavaScript API は、Vibration API です。明らかに、この API を使用すると、モバイル プログラマーは JavaScript を使用して電話の振動機能を呼び出し、振動モードと持続時間を設定できます。

振動 API に対するブラウザのサポートを確認する
使用する前に、現在のアプリケーション環境とブラウザが振動 API をサポートしているかどうかを確認することをお勧めします。検出方法は次のとおりです:

コードは次のとおりです:

// Standards ftw!
var supportsVibrate = "vibrate" in navigator;

window.navigator オブジェクトには振動に関する API が 1 つだけあります: vibrate 。

振動 API の基本的なアプリケーション
navigator.vibrate 関数は、数値パラメーターまたは数値配列を受け入れることができます。配列パラメーターを使用する場合、奇数の桁は振動する秒数であり、偶数の桁は振動します。 -数字の数字は待機秒数です。

// 1 秒間振動します

navigator.vibrate(1000);

// 複数回振動します
// パラメーターは 3 秒間振動し、2 秒間待機し、その後 1 秒間振動します

navigator.vibrate([3000, 2000, 1000]);

振動を停止したい場合は、navigator.vibrate メソッドに 0 または空の配列を渡すだけです:

// 振動を停止します

navigator.vibrate(0);
navigator.vibrate([]);

必須 navigator.vibrate メソッドを呼び出しても、電話機は周期的に振動しません。パラメーターが数値の場合、振動は 1 回発生してから停止します。パラメータが配列の場合、振動は配列の値に従って振動し、その後振動が停止します。

連続振動
setInterval メソッドと clearInterval メソッドを使用するだけで、携帯電話を連続的に振動させる効果を生成できます。

var vibrateInterval;
// Starts vibration at passed in level
function startVibrate(duration) {
navigator.vibrate(duration);
}
// Stops vibration
function stopVibrate() {
// Clear interval and stop persistent vibrating 
if(vibrateInterval) clearInterval(vibrateInterval);
navigator.vibrate(0);
}
// Start persistent vibration at given duration and interval
// Assumes a number value is given
function startPeristentVibrate(duration, interval) {
vibrateInterval = setInterval(function() {
startVibrate(duration);
}, interval);
}

上記のコードは、次の振動パラメーターのみを対象としています。パラメータが配列の場合は、その合計期間を計算し、その特性に基づいてループする必要もあります。

Vibration API の使用シナリオ
この API は明らかに携帯電話デバイスを対象としています。モバイル WEB モバイル アプリケーションを開発する場合、この振動機能は Web ゲームやマルチメディア アプリケーションを開発する場合に不可欠な優れた技術です。例えば、ユーザーが携帯電話でWEBゲームをプレイしているときに、ゲーム内で爆発が起きて携帯電話が振動したとき、それは優れたユーザーエクスペリエンスと言えるでしょうか?

この JavaScript 振動 API についてどう思いますか?すぐに人気が出ると思いますか?まだあまり役に立ちませんか?

上記はこの章の全内容です。その他の関連チュートリアルについては、JavaScript ビデオ チュートリアルHTML5 ビデオ チュートリアル をご覧ください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。