mp3をプレイヤーでは再生できるのにmciでは再生できない場合の対処
メモとか久しぶりだ(笑
ゲーム試作版を友人にテストプレイしてもらったら、曲を再生できなかったのでその対処法をメモ。自分のパソコンも友人のパソコンもWindowsXP SP2だからOSの違いは関係ないっぽいですね。
mciは再生コーデックが入っている形式(普通にWMPなどで再生できる形式)はすべて再生できるのですが、OpenParamsで指定するDeviceTypeがレジストリに記述されていないといけないみたいです。mp3を再生するにはDeviceTypeをMPEGVideoとしますが、mp3はMPEGVideoに属するという記述が必要です。
曲をオープンするための記述
MCI_OPEN_PARMS OpenParams; OpenParams.lpstrDeviceType = (LPCSTR)"MPEGVideo"; mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT,(DWORD)&OpenParms);
Windows95/98の場合は
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\MCI32
WindowsNTの場合は、
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\MCI32
の中にいろいろな拡張子があるので、その中にmp3を追加してやればOKです。