jPlayerを使用して2つのオーディオファイルをページに埋め込みます。基本的に、コードはこのページから切り取られて貼り付けられます。1つはwavで、もう1つはmp3です。すべてがローカル(mac)で正常にステージングされて動作しますが、サーバーにアップロードすると、オーディオファイルが奇妙な方法で失敗します。
Chromeはwavファイルを30秒で開始し(ロケーションスクラバーは最初から開始しますが)、早く終了するため、JavaScriptがサウンドファイルの正しい長さを取得していると思われます。mp3は再生を開始することさえありません。ロードするふりをしますが、ロードしません。
どういうわけか、Safariは正常に動作します。
Firefoxも問題なく動作します。おそらくそれはプレイヤーのフラッシュオプションにフォールバックしているからですか?
IE8はmp3を再生しますが、wavは再生せず、前者のプログレスバーを表示できません。
最初は、ファイルのアップロード方法に問題があると思いました。当初、私はTransmitを使用していましたが、これはASCIIとバイナリのどちらについても賢明なはずです。私scp
はファイルを試してみましたが、それでもそれらは厄介な動作をしていました。
そのとき、mimeタイプが正しく設定されていないと思ったので、アセットフォルダーの.htaccessファイルに2行追加しましたが、何も変わりませんでした。htaccessファイルは次のようになります。おそらく、含める必要のあるものを忘れたのでしょうか。
# prevent CGI and PHP executing in assets; php_flag doesn't actually do anything
# since lower-level settings trump any attempt to turn it off in htaccess.
# I'll leave it here for posterity.
deny from all
Options -ExecCGI
php_flag engine 0
# Break other files
<Files ~ "\.(gif|GIF|jpe?g|JPE?G|png|PNG|docx?|DOCX?|pdf|PDF|swf|SWF|flv|FLV|ppt|PPT|pps|PPS|mp3|MP3|wav|WAV)$">
order deny,allow
allow from all
</Files>
AddType audio/x-wav wav
AddType audio/mpeg mp3
アイデア?
編集:wavとmp3の両方でmimeタイプをapplication / octet-streamに変更しようとしましたが、プレーヤーアプリケーションには何の影響もなかったようです。オーディオファイルに直接リンクすると、それらがダウンロードされます。