controlling Vibrations-Intensität in android-Handys? ist es möglich?
Bin ich, ein Spiel zu entwickeln. In denen, ich möchte nicht verschiedene Vibrations-Intensitäten für verschiedene Veranstaltungen. Ich möchte nur wissen, ob seine wirklich möglich, die Steuerung der Vibrations-Intensität und-Dauer. Jede Beratung oder Referenz-links wären sehr hilfreich. Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es hängt davon ab, was du damit meinst Intensität. Sie können das Muster und die Länge der vibration, aber ich glaube nicht, können Sie machen es zu vibrieren "stärker".
http://developer.android.com/reference/android/os/Vibrator.html
Ich habe einen einfachen trick, um irgendwie die Verringerung der Intensität der vibration. Meine Idee ist, interleave vibration Abständen mit silent-Intervalle. Wenn Sie eine Millisekunde von vibration und dann eine Sekunde Stille und so weiter, wie es scheint, ist es eine Konstante Schwingung, aber schwächer als normal. Sie können versuchen, erhöhen Sie die Stille Abständen, um die vibration noch schwächer. Hier geht der code, Beispiel:
PWM kann verwendet werden, um eine vibration zu erzeugen Muster aus verschiedenen Pulsweiten, die sich in niedrigeren durchschnittlichen Spannung der vibrator-motor (und damit schwächere vibration-Ausgabe).
Ich habe eine einfache proof-of-concept-Methode hier. Diese Methode erzeugt ein Muster mit der angegebenen Intensität und Dauer. Der übergang in die Methode ist nicht ganz linear, so dass ich gebucht haben, ein Kopfgeld auf hoffentlich einige Alternative Vorschläge. Wird aktualisiert, wenn ich einen besseren Algorithmus.
Dies könnte Ihnen helfen, aber Es funktioniert nur für API-level 26 oder höher.
Hier
wave_time
array stellt zwei Arten von Zeiten:wave_ampl
array stellt die Stärke der vibration w.r.twave_time
array.Erklärung:
Telefon wartet 0 ms (0. index der
wave_time
) und beginnt vibrierenden für 100 ms (1. index derwave_time
) mit einer Intensität von 50 (1. index derwave_ampl
).Ebenso für Telefon vibriert für 100 ms (3. index der
wave_time
) mit einer Intensität von 100 (3. index derwave_ampl
).Die maximale Intensität ist 255 in android.
Referenz