Я работаю над андроидным приложением, которое обнаруживает дрожание рук (через акселерометр), и оно модулирует частоту вибрации, основанную на интенсивности встряхивания.Частотная вибрация Android
Я могу получить интенсивность тремора через стандартное отклонение (код ниже):
public void regressionCalc() {
//Calculating sum values
double sumZ;
double meanZ;
sumZ = 0;
final TextView accZText = (TextView) findViewById(R.id.accelText);
accZText.setText("");
for (int r = 0; r < recArray.length; r++) {
sumZ = sumZ + recArray[r];
}
meanZ = sumZ/recArray.length;
//Calculating standard deviation
double sumXu2; //this represents E((x-xbar)^2)
sumXu2 = 0;
for (int x = 0; x < recArray.length; x++) {
sumXu2 += ((recArray[x]-meanZ)*(recArray[x]-meanZ));
}
double SD;
SD = Math.sqrt(sumXu2/(recArray.length-1));
tremorIntensity = SD;
accZText.setText(String.format("%.2f", tremorIntensity) + "");
accZText.setTextSize(80);
}
, но я не знаю, как работать с вибрацией. Я имею в виду, я бы хотел, чтобы интенсивность вибрации телефона уменьшалась или увеличивалась в зависимости от значения регрессии.
Может ли кто-нибудь обратиться ко мне по правильному пути? Спасибо заранее.
Возможный дубликат [Как сделать вибрировать Android устройства?] (Http://stackoverflow.com/questions/ 13950338/how-to-make-an-android-device-vibrate) –
Нет, это другое, потому что я говорю о частоте модуляции интенсивности вибрации. Не могли бы вы помочь мне? –