Topik ini menjelaskan API JavaScript dari WVMotion. Anda dapat merujuk ke topik ini saat membuat aplikasi HTML5 atau program mini. API ini memungkinkan Anda mendengarkan tindakan yang dilakukan pengguna pada ponsel, seperti meniupkan udara ke perangkat, serta membuat ponsel bergetar.
WVMotion.listenBlow
Mendengarkan gestur tiupan.
Parameter Masukan
[
number] waktu: opsional. Interval pembuatan event tiupan ketika pengguna meniupkan udara ke ponsel. Satuan: detik. Di iOS, nilainya berada dalam rentang[0, 1]. Nilai default adalah0. Nilai ini meningkat seiring dengan berlanjutnya gestur tiupan.
Parameter Callback
Tidak ada parameter callback. Jika pendengaran gestur tiupan diaktifkan, callback success dipanggil. Sebaliknya, callback failure dipanggil.
Pemantauan Event
motion.blow: Pengguna meniupkan udara ke ponsel ketika pendengaran gestur tiupan diaktifkan.
Parameter Event:
[
number] pass: durasi gestur tiupan yang menghasilkan event tiupan. Nilai parameter bervariasi tergantung pada sistem operasi. Di iOS, nilai parameter berada dalam rentang[0, 1]. Nilai ini meningkat seiring dengan berlanjutnya gestur tiupan. Di Android, nilai parameter tetap1.
document.addEventListener('motion.blow', function(e) {
alert('Gestur tiupan terdeteksi.');
}, false);
window.WindVane.call('WVMotion', 'listenBlow', {}, function(e) {
alert('sukses');
}, function(e) {
alert('kegagalan:' + JSON.stringify(e));
});
WVMotion.stopListenBlow
Menghentikan pendengaran gestur tiupan.
Parameter Masukan
Tidak ada parameter masukan.
Parameter Callback
Tidak ada parameter callback. Operasi API ini selalu memanggil callback success.
window.WindVane.call('WVMotion', 'stopListenBlow', {}, function(e) {
alert('sukses');
});
WVMotion.listenGyro
Mengaktifkan atau menonaktifkan pemantauan giroskop.
Aplikasi HTML5 atau program mini dapat merasakan perubahan orientasi ponsel dengan memantau giroskop. Hal ini memungkinkan aplikasi atau program mini untuk memutar layar sesuai dengan orientasi. Giroskop dan sensor gravitasi di ponsel digunakan untuk memantau gerakan perangkat. Giroskop dapat memperoleh sudut Euler (roll, pitch, dan yaw) dari ponsel, sedangkan sensor gravitasi dapat memperoleh besarnya gravitasi dalam tiga arah.
Karena format data giroskop berbeda di iOS dan Android, data sensor gravitasi yang formatnya konsisten di semua sistem operasi digunakan sebagai nilai yang dikembalikan. Aplikasi HTML5 dan program mini dapat menggunakan algoritma untuk memperoleh orientasi ponsel berdasarkan data tersebut.
Parameter Masukan
[
boolean] on: menentukan apakah akan mengaktifkan pemantauan giroskop.truemenunjukkan bahwa pemantauan diaktifkan, sedangkanfalsemenunjukkan bahwa pemantauan dinonaktifkan.[
number] frequency: interval minimum antara event giroskop. Satuan: milidetik. Interval antara event giroskop selalu lebih besar dari nilai parameter ini.
Parameter Callback
Tidak ada parameter callback. Jika pemantauan giroskop diaktifkan atau dinonaktifkan, callback success dipanggil. Sebaliknya, callback failure dipanggil.
Pemantauan Event
motion.gyro: Orientasi ponsel berubah ketika giroskop sedang dimonitor.
Parameter Event:
[
number] x: besarnya gravitasi dalam arah x. Rentang nilai:[-1, 1].[
number] y: besarnya gravitasi dalam arah y. Rentang nilai:[-1, 1].[
number] z: besarnya gravitasi dalam arah z. Rentang nilai:[-1, 1].
document.addEventListener('motion.gyro', function(e) {
alert ('Perubahan orientasi ponsel terdeteksi.');
}, false);
var params = {
// Mengaktifkan atau menonaktifkan pemantauan giroskop.
on: true,
// Interval antara event giroskop.
frequency: 100
};
window.WindVane.call('WVMotion', 'listenGyro', params, function(e) {
alert('sukses');
}, function(e) {
alert('kegagalan:' + JSON.stringify(e));
});
WVMotion.listeningShake
Mengaktifkan atau menonaktifkan pemantauan gestur goyangan.
Parameter Masukan
[
boolean] on: menentukan apakah akan mengaktifkan pemantauan gestur goyangan.truemenunjukkan bahwa pemantauan diaktifkan, sedangkanfalsemenunjukkan bahwa pemantauan dinonaktifkan.[
number] frequency: opsional. Interval minimum antara event goyangan. Nilai default adalah500. Satuan: milidetik. Interval antara event goyangan selalu lebih besar dari nilai parameter ini.[
number] shakeThreshold: opsional. Ambang percepatan yang digunakan untuk mengidentifikasi gestur goyangan. Gestur goyangan hanya valid jika percepatan melebihi ambang batas. Nilai default:1.2.[
number] shakeNum: opsional. Jumlah gestur goyangan yang digunakan untuk menghasilkan event goyangan. Nilai default:1.
Parameter Callback
Tidak ada parameter callback. Jika pemantauan gestur goyangan diaktifkan atau dinonaktifkan, callback success dipanggil. Sebaliknya, callback failure dipanggil.
Pemantauan Event
motion.shake: Pengguna menggoyangkan ponsel ketika gestur goyangan sedang dimonitor.
Parameter Event:
[
number] x: percepatan dalam arah x.[
number] y: percepatan dalam arah y.[
number] z: percepatan dalam arah z.
document.addEventListener('motion.shake', function(e) {
alert ('Gestur goyangan terdeteksi.');
}, false);
var params = {
// Mengaktifkan atau menonaktifkan pemantauan gestur goyangan.
on: true
};
window.WindVane.call('WVMotion', 'listeningShake', params, function(e) {
alert('sukses');
}, function(e) {
alert('kegagalan: ' + JSON.stringify(e));
})
WVMotion.vibrate
Membuat ponsel bergetar.
Parameter Masukan
[
int] duration: opsional. Durasi getaran. Satuan: milidetik. Sistem operasi menentukan nilai parameter secara default. Parameter ini hanya tersedia di WindVane Android, dan mungkin tidak valid di beberapa model perangkat.
Parameter Callback
Tidak ada parameter callback. Operasi API ini selalu memanggil callback success.
window.WindVane.call('WVMotion', 'vibrate', {});
var params = {
// Durasi getaran.
duration: 7000
};
window.WindVane.call('WVMotion', 'vibrate', params);
WVMotion.startAccelerometer
API ini hanya tersedia di WindVane Android 1.0.3.4 atau versi lebih baru.
Mendengarkan data akselerasi.
Parameter Masukan
[
string] interval: opsional. Interval pemantauan fungsi callback akselerasi. Nilai default: 'normal'. Nilai valid:ui: interval callback untuk pembaruan UI. Nilai parameter sekitar 60 ms.
game: interval callback untuk pembaruan game. Nilai parameter sekitar 20 ms.
normal: interval callback normal. Nilai parameter sekitar 200 ms.
Parameter Callback
Parameter untuk callback sukses:
Tidak ada parameter callback.
Parameter untuk callback gagal:
[
string] msg: pesan tentang kegagalan.
Pemantauan Event
WVMotion.Event.accelerometer
Memperoleh data akselerasi.
Parameter Event:
[
float] x: data pada sumbu-x.[
float] y: data pada sumbu-y.[
float] z: data pada sumbu-z.
document.addEventListener('WVMotion.Event.accelerometer', function (e) {
alert('event accelerometer: ' + JSON.stringify(e.param));
});
var params = {
interval: 'normal'
};
window.WindVane.call('WVMotion', 'startAccelerometer', params, function(e) {
}, function(e) {
alert('startAccelerometer failure: ' + JSON.stringify(e));
});WVMotion.stopAccelerometer
API ini hanya tersedia di WindVane Android 1.0.3.4 atau versi lebih baru.
Menghentikan pendengaran data akselerasi.
Parameter Masukan
Tidak ada parameter masukan.
Parameter Callback
Tidak ada parameter callback. Operasi API ini selalu memanggil callback success.
window.WindVane.call('WVMotion', 'stopAccelerometer', {});WVMotion.startCompass
API ini hanya tersedia di WindVane Android 1.0.3.4 atau versi lebih baru.
Mendengarkan data kompas.
Parameter Masukan
[
string] interval: opsional. Interval pemantauan fungsi callback data akselerasi. Nilai default: 'normal'. Nilai valid:ui: interval callback untuk pembaruan UI. Nilai parameter sekitar 60 ms.
game: interval callback untuk pembaruan game. Nilai parameter sekitar 20 ms.
normal: interval callback normal. Nilai parameter sekitar 200 ms.
Parameter Callback
Parameter untuk callback sukses:
Tidak ada parameter callback.
Parameter untuk callback gagal:
[
string] msg: pesan tentang kegagalan.
Pemantauan Event
WVMotion.Event.compass
Memperoleh data kompas.
Parameter Event:
[
float] direction: derajat antara arah yang Anda hadapi dan arah utara sejati. Rentang nilai: [0, 360).[
long] timestamp: timestamp.
document.addEventListener('WVMotion.Event.compass', function (e) {
alert('event compass: ' + JSON.stringify(e.param));
});
var params = {
interval: 'normal'
};
window.WindVane.call('WVMotion', 'startCompass', params, function(e) {
}, function(e) {
alert('startCompass failure: ' + JSON.stringify(e));
});WVMotion.stopCompass
API ini hanya tersedia di WindVane Android 1.0.3.4 atau versi lebih baru.
Menghentikan pendengaran data kompas.
Parameter Masukan
Tidak ada parameter masukan.
Parameter Callback
Tidak ada parameter callback. Operasi API ini selalu memanggil callback success.
window.WindVane.call('WVMotion', 'stopCompass', {});