Этот вопрос касается того, как получить доступ к управлению вибрацией вашего телефона Windows 8.1 в каком-то событии с помощью С++. Я также ответил на вопрос.
Как включить вибрацию на Windows Phone 8.1
Ответы (1)
Сначала импортируйте следующие два пространства имен:
using namespace Windows::Phone::Devices::Notification;
using namespace Windows::Foundation;
Затем используйте такую функцию:
void PlatformInterop::vibrateDevice(int duration)
{
VibrationDevice^ vib = VibrationDevice::GetDefault();
if (vib != nullptr)
{
TimeSpan time;
// Convert from milliseconds to 1.0e-7 of a second, and limit to 5 seconds
time.Duration = min(duration*10000, 50000000);
vib->Vibrate(time);
}
}
Это все, что вам нужно сделать.
person
Atin Agarwal
schedule
09.06.2016
Ваши единицы не складываются: если
time.Duration
действительно занимает наносекунды, вам нужно 5000000000
вместо 50000000
(9 нулей вместо 7); и вам нужно умножить целое число duration
на 1000000
.
- person mindriot; 09.06.2016
Спасибо за упоминание ошибки, но на самом деле я упомянул ее неправильно в комментарии. На самом деле функция принимает аргументы в единицах 1.0e-7 секунд. Я проверил это, и это работает для меня.
- person Atin Agarwal; 19.06.2016