再生できない MP3 がある問題の原因が分かりました

昨日の日記で書いた、うまく再生できない MP3 ファイルについて調べていたところ原因がわかりました。

MMG では MP3 → WAV にいったんデコードしているのですが、そのときに DirectShow という Windows が持っている再生システムを利用しています。で、、、MP3 は MPEG Layer-3 Audio Decoder というモジュール(フィルタといいます)を使って再生しているのですが、このバージョンが曲者のようです。
XP のデフォルトは Ver 1.5 というもので、これだと再生できない MP3 が存在するようです。
ググって調べてみたところ、Ver 1.9(Build 311) というバージョンじゃないと問題が起こるとのこと。

自宅の PC では再生できて、会社のノートでは再生できなかったため実際にこのバージョンに起因するものかどうか調べてみました。

GraphEdit という DirectShow のフィルタを視覚的につないで検証できるツールをつかいまして、Mu-Taro さんの「あの双子が円周率1000桁に挑戦(ボーカルのみ)_MuTaro_200809220028.mp3」を放り込んでみると、自宅の PC では Ver 1.9 が使用されていて、再生もきちんとできました。


次にノートパソコンの方でおなじことをやってみると、、、Ver 1.5 になっていて再生できませんでした。

ファイルの実体はこちらの環境では Windows\system32\l3codecx.ax だったので、これを 1.9 のものに差し替えると無事にノートでも動作しました。

困ったことに、この Ver 1.9 は Windows Update で自動的に更新されるわけではないようだということ。。。どこかから探してきて入れるしかないようなのです。自宅の PC には何がきっかけで Ver 1.9 が入ったのかもわかりません。ググるといろいろなデコーダーパッケージが出回っていて、その中に Ver 1.9 が入っていることが多いようなのですが、一般の人には敷居が高そうです。再配布してよいモジュールならインストーラに一緒に入れてしまえるのですが…。

 もうちょっと調べてみることにします。