Windows Mobile中通过代码设置设备声音

原创 2013年12月05日 10:23:22

最近一个Mobile项目中需要通过代码开启点击屏幕输出声音的功能.首先验证了一下在手边各种类型的Mobile设备在系统设置页面都有设置点击屏幕是否发声的选项.经验证这是一个Windows Mobile的通用选项,那能通过代码控制这个选项么? 答案是肯定的,而且仅仅需要几行代码.

        [DllImport("Coredll.dll")]
        private static extern void AudioUpdateFromRegistry();

        static readonly string KeyVolRegKey = @"HKEY_CURRENT_USER\ControlPanel\Volume";
        public KeyClickVolume KeyClickVolume
        {
            set
            {
                uint[] vals = new uint[] { 0, 1, 0x10002 };
                Registry.SetValue(KeyVolRegKey, "Screen", vals[(int)value], RegistryValueKind.DWord);
                AudioUpdateFromRegistry();
                EventLog(ErrorLevel.Info, String.Empty,string.Format( "Set KeyClickVolume to {0}",value), null);
            }
            get
            {
                switch ((uint)Registry.GetValue(KeyVolRegKey, "Screen", (uint)0x10002))
                {
                    case 0: return KeyClickVolume.Off;
                    case 1: return KeyClickVolume.Soft;
                    case 0x10002:
                    default: return KeyClickVolume.Loud;
                }
            }
        }


 

KeyClickVolume的定义如下:

    public enum KeyClickVolume
    {
        Off = 0,
        Soft,
        Loud
    };


 

另外除了可以设置点击Screen的声音外,你还可以对类似的其它选项进行设置.具体的键值可以参照下图:

 

参考:

http://stackoverflow.com/questions/982934/how-do-you-disable-the-key-click-sound-in-windows-ce

http://go4answers.webhost4life.com/Example/set-phone-volume-please-help-why-55820.aspx

 

如何使用CeLog调试Windows mobile设备驱动

一.     介绍 本文主要介绍在不进入KITL模式, 使用CeLog工具来调试Windows mobile设备的方法,该方法可以抓到使用DEBUGMSG打出的log信息,注意:本方法只在RET...

Windows Mobile 打包部署到设备

1.创建一个智能设备解决方案用于本打包演练 具体步骤可以参看 [引]智能设备开发演练:创建用于设备的 Windows 窗体应用程序 2.为解决方案添加智能设备 CAB 项目 a. 打开现...

Windows Mobile (vs2008 智能设备)读写ini配置文件

Windows Mobile (vs2008 智能设备)读写ini配置文件     读写INI:  首先,得到当前exe的运行路径      Applica...

获取windows mobile 采集器设备的唯一机器号

网上找到一个获取windows mobile 系统的机器的唯一机器号的方法,标记在这里,便于查找。GetDeviceUniqueID:http://blogs.msdn.com/b/windowsmo...

PPC Windows Mobile判断网络(gprs)连接与否代码

 在PPC的开发中有时需要判断网络什么时候连 接,什么时候断开,并且做出相应的处理。比如说TimeSyncPPC程序,就需要在网络连接之后得到消息然后去下载时间同步信息,因此就必须要一种方法 让T...

Windows Mobile 设备中心汉化版

  • 2012年09月14日 01:23
  • 730KB
  • 下载

Windows Mobile常用程序代码(串口、图象、网络、3D、数据库、音频视频等等)

Windows Mobile常用程序代码(串口、图象、网络、3D、数据库、音频视频等等)
  • cpcpc
  • cpcpc
  • 2011年02月24日 13:47
  • 9615
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows Mobile中通过代码设置设备声音
举报原因:
原因补充:

(最多只允许输入30个字)