何度か試した結果、着信音については以下のような結論になりました。
- "HKEY_CURRENT_USER\ControlPanel\Incoming\Phone\Melody"にMP3ファイルを指定すれば電話着信時はOK。
- "HKEY_CURRENT_USER\ControlPanel\Incoming\Email\Melody"にMP3ファイルを指定してもメール着信時には標準の「着信音1」が鳴る。
そのくせ[設定]-[電話]-[呼出]-[メロディ]の画面ではちゃんとMP3が鳴る。 - ライトメールもメールと同様に設定不可。
メール着信音が無理ならせめて電話着信音のサンプル再生だけでも...と思って試していたのですが、どうもうまくいきません。
MSDNを見る限り、SndPlayAsyncでいけそうな気がするのですが、 実機でMP3を再生しようとすると、SndOpenで失敗します。
(エミュレータはでSndOpenできますが、音が鳴っているのか確認できません...)
またPlaySoundであれば実機でも落ちないのですが、やはり音は鳴りません。
アドエスとエミュレータで挙動が違うのが不思議だったので両者でDLLを比較してみました。
ファイル名 | アドエス | WM6 Classic |
coredll.dll | 14 | 604,264 |
aygshell.dll | 3,633 | 312,568 |
サイズが全然違うじゃねぇか(笑
エミュレータからDLLを引っ張ってくればできるのでしょうか?
いろいろ弊害が出てきそうなのでそこまではできませんね。
という訳でMP3のサンプル再生機能は保留中ですが、バイナリを一部更新してみました。
- 起動時にMP3の他にWMAとWAVを検索するように変更
(ファイル数によっては検索に時間がかかるかも) - PlaySoundを使用してWAVのサンプル再生をするように変更
(MP3、WMAは再生しても鳴りません)
0 件のコメント:
コメントを投稿