手机铃声经常能够体现一个人的个性,有些哥们儿在自习室不把手机设置成震动,一来电就@#$^%^@&^%#$&$*@,声音还很大,唯恐别人听不到。
Windows Mobile设备上如何来设置手机来电铃声呢?在其自带的Windows Mobile 6 SDK Samples中恰好有关于铃声设置的应用程序。该应用程序能够扫描设备的所有目录,将所有”.wav”和”.mp3”文件列出来,让用户试听,并且拷贝到专门的目录。当然,如果设备支持MIDI文件的话,也可以把”.mid”加到程序中去,主要体现在”private void ScanDirectories(string directory)”这个函数中。
该应用程序用到的API包括: SndGetSoundDirectoriesList、SndPlaySync、SndPlayAsync、SndOpen、SndStop和SndClose,通过platform invoke在托管环境中使用它们。调试的时候,我们可以使用Windows Mobile 6 SDK的Cellular Emulator工具来模拟。具体方法如下:
1. 打开Cellular Emulator,它是在Windows Mobile 6 SDK的Tools目录中,如下图1所示。
图1:Cellular Emulator所在的目录
2. 将其左下角的”DE:COM*”记住(我这里是COM3),对于不同的机子可能会有不同的COM。如下图2所示。
图2:Cellular Emulator中的COM端口号
3. 打开模拟器的Configure,把刚才的COM3 端口号输入到 Serial Port 0 文本框中,如果在下拉列表中找不到你的端口号,可以自己输入进去。如下图3所示。
图3:在Emulator中的 Serial Port 0 设置
注:关于Cellular Emulator更加详细的使用方法,可以参考黎波老师写的这篇文章:Windows Mobile 6 SDK 中的 Cellular Emulator。
然后就可以在Cellular Emulator界面上给Windows Mobile 6的Emulator打电话来测试我们的铃声了。搜索到铃声以后,选择”Add to ring tones”的话,是将该文件拷贝到设备的”My Device”->”Application Data” ->”Sounds”文件夹下。我把”Coldplay”的两首歌加了进去,如下图4所示。图5是来电时Emulator的界面。
图4:Emulator中“Sounds”所在的目录