2006年04月14日
川俣晶の縁側ソフトウェアMagSite1開発日誌 total 3326 count

添付ファイルとして書き込んだファイルがWindows Media Playerで再生できない問題

Written By: 川俣 晶連絡先

概要 §

 MagSite1のコンテンツの添付ファイルとして書き込んだファイルがWindows Media Playerで再生できないことがあります。

解決策 §

 ファイル名にURLエンコードを要する文字を使用しません。

 (Windows Media Player側の問題であるらしいため、他に有効な解決策のアイデアがありません)

発生条件 §

 以下の2つのケースで、発生することがあります。

  • Internet ExplorerからMP3等のファイルをクリックしてWindows Media Playerを起動した
  • Windows Media Playerの「URLを開く」でURLを開いた

 以下のケースでは発生しません。

  • Firefox, Operaから開くことで、Windows Media Playerを起動する

 また、問題が発生するためには、URLエンコードのエスケープを2回解除できるパスを含む必要があります。

例: %255F

(%25を%に置き換え%5Fを得た後、%5Fを更に"_"に置き換えることができる例)

 実際に発生する実例のMP3ファイルへのリンクを以下に示します。

テストMP3データ

原因 §

 Windows Media PlayerがURLエンコードを2回適用してしまうことで、他のソフトとは異なるファイルをサーバに要求するためです。

 上記実例のファイルのケースでは、"a%255Fb.mp3"というエンコードされた表記から、通常は"a%5Fb.mp3"というファイルを要求します。

 しかし、Windows Media Playerは"a_b.mp3"というファイルを要求し、ファイルを発見できません。

補足 §

 ちなみに、Internet ExplorerからWindows Media Playerを起動した場合には、Internet Explorerはファイルの実在を確認できるのに、Windows Media Playerは確認できないというねじれ現象が発生します。

 FirefoxとOperaを使用するとWindows Media Playerで再生できるのは、この2つのソフトはWindows Media Playerに対して、ダウンロードしたテンポラファイルのパスを渡して再生させるためです。つまり、Windows Media PlayerにURLが渡されるわけではなく、URL解釈の問題は発生しません。しかし、ストリーム再生が行われるわけではないので、快適さにおいてInternet Explorerに劣ります。