2016-06-09 5 views

Répondre

0

d'abord importer les deux espaces de noms suivants:

using namespace Windows::Phone::Devices::Notification; 

using namespace Windows::Foundation; 

Ensuite, utilisez une fonction comme ceci:

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); 
      } 
     } 

C'est tout ce que vous devez faire.

+0

Vos unités ne s'additionnent pas: si 'time.Duration' prend vraiment des nanosecondes, vous avez besoin de' 5000000000' au lieu de '50000000' (9 zéros au lieu de 7); et vous devez multiplier votre entier 'duration' par' 1000000'. – mindriot

+0

Merci de mentionner l'erreur, mais en fait je l'ai mentionné mal dans le commentaire. En fait, la fonction prend des arguments dans l'unité de 1.0e-7 secondes. Je l'ai testé et ça marche pour moi. –