手機鈴聲經常能夠體現一個人的個性,有些哥們兒在自習室不把手機設定成震動,一來電就@#$^%^@&^%#$&$*@,聲音還很大,唯恐別人聽不到。
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”所在的目錄 圖5:來電時Emulator的介面