バイブレーターをパルスできる機能をアプリに実装しようとしています。ユーザーは、スライダーを使用して、振動の強さ、パルスの長さ、およびパルス間の時間の 3 つを変更できます。
私は次のようなコードを考えていました:
for(i=0; i<(pulse length * whatever)+(pulse gap * whatever); i+=1){
pattern[i]=pulse length*i;
patern[i+1]=pulse gap;
ただし、このコードを使用すると (適切に実行された場合、これは簡単な例です)、アプリがクラッシュします。また、振動の強さを変更すると(これは機能します)、強さを変更するにはサービスを再起動する必要があります。強さを変える方法は、バイブレーターのオンとオフの時間をパターンで変更することです。
これは、電話がどのように振動するかを検出するために使用するコードです (ここのコードは、私が好むものとは少し異なります)。
if (rb == 3){
z.vibrate(constant, 0);
} else if (rb == 2){
smooth[0]=0;
for (int i=1; i<100; i+=2){
double angle = (2.0 * Math.PI * i) / 100;
smooth[i] = (long) (Math.sin(angle)*127);
smooth[i+1]=10;
}
z.vibrate(smooth, 0);
} else if (rb == 1){
sharp[0]=0;
for(int i=0; i<10; i+=2){
sharp[i] = s*pl;
sharp[i+1] = s+pg;
}
z.vibrate(sharp, 0);
}
} else {
z.cancel();
}
誰かがこれを実行できるコードの方向性、またはそれを機能させる方法を教えてくれれば、とても感謝しています。