Hvordan få tilgang til lydløs / vibrere modus for Windows Phone 7 ved hjelp av C #?

stemmer
2

Jeg var i stand til å bruke p / påkalle på aygshell.dll for å få tilgang til telefon lydprofiler i Windows Mobile 6, men Windows Phone 7 ikke støtter følgende kode. Er det en vei rundt dette? Jeg vil ha min app for å være i stand til å sette telefonen i lydløs eller vibrere modus.

/*The following code works perfectly well with windows moblile 6.0 but fails for 
  windows phone 7 at runtime. */



  public enum SND_SOUNDTYPE
   {
       On,
       File,
       Vibrate,
       None
   }

   private enum SND_EVENT
   {
       All,
       RingLine1,
       RingLine2,
       KnownCallerLine1,
       RoamingLine1,
       RingVoip
   }
 //Marshals
[StructLayout(LayoutKind.Sequential)]
   private struct SNDFILEINFO
   {
       [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
       public string szPathName;
       [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
       public string szDisplayName;
       public SND_SOUNDTYPE sstType;
   }

//p/invoke
   [DllImport(aygshell.dll, SetLastError = true)]
    private static extern uint SndSetSound(SND_EVENT seSoundEvent, ref SNDFILEINFO pSoundFileInfo, bool fSuppressUI);

   [DllImport(aygshell.dll, SetLastError = true)]
   private static extern uint SndGetSound(SND_EVENT seSoundEvent, ref SNDFILEINFO pSoundFileInfo);


  //method to set ringer on 
   private static void SetProfileNormal()
   {
       SNDFILEINFO soundFileInfo = new SNDFILEINFO();
       soundFileInfo.sstType = SND_SOUNDTYPE.On;
       SndSetSound(SND_EVENT.All, ref soundFileInfo, true);

   }
 //method to set ringer to vibrate
   private static void SetProfileVibrate()
   {
       SNDFILEINFO soundFileInfo = new SNDFILEINFO();
       soundFileInfo.sstType = SND_SOUNDTYPE.Vibrate;
       SndSetSound(SND_EVENT.All, ref soundFileInfo, true);

   }

  //method to set ringer off - silent mode
  private static void SetProfileMuted()
   {
       SNDFILEINFO soundFileInfo = new SNDFILEINFO();
       soundFileInfo.sstType = SND_SOUNDTYPE.None;
       SndSetSound(SND_EVENT.All, ref soundFileInfo, true);

   }
 //method to check if phone is in vibrate mode
   private bool IsInVibrateMode()
   {
       SNDFILEINFO info = new SNDFILEINFO();
       SndGetSound(SND_EVENT.All, ref info);
       return (info.sstType == SND_SOUNDTYPE.Vibrate);
   }
 //method to check if phone is in silent mode
   private bool IsMuted()
   {
       SNDFILEINFO info = new SNDFILEINFO();
       SndGetSound(SND_EVENT.All, ref info);
       return (info.sstType == SND_SOUNDTYPE.None);
   }
Publisert på 14/04/2012 klokken 02:34
kilden bruker
På andre språk...                            


1 svar

stemmer
1

Windows Phone 7 sikkerhetssandkassen ikke tillater utvikleren tilgang til å sette telefonen modusene til lydløs eller vibrere. I beste fall kan programmet få opp innstillingsmenyen for å tillate brukeren å personlig sette telefonen i lydløs eller vibrere modus.

Svarte 20/12/2012 kl. 13:28
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more