4

オーディオ HTML タグをテストしています。

そして、テスト環境では機能していますが、何らかの理由で本番環境では機能していません。

私は単に使用します: <audio src="/sandbox/test.mp3" controls="controls"></audio>.

テスト サイトは Windows 上にあり、本番サイトは Linux 上にありますが、違いはあると思います。

トラックをダウンロードできるので、適切な場所にあることがわかります。

製品の URL は次のとおりです: http://pieterhordijk.com/sandbox

述べたように、まったく同じコードがテストサイトで機能します。

なぜ私のオーディオがロードされないのか、誰にも分かりますか?

PS

私は以下を使用してテストしています:

クローム 11.0.696.68

編集

現在、Chrome 13 (Canary Build) を使用しており、MP3 が読み込まれます。

しかし、WAV は最初の 1 秒しかロードしません。

4

2 に答える 2

3

http://pieterhordijk.com/sandbox/test.mp3は audio/mpeg として提供され、これは優れています。しかし、Operaでダウンロードすると、なぜか壊れてしまい、Foobarのプレイリストなどに追加できません。しかし、それはwgetでうまくダウンロードされるので、それは単にOperaの問題か、サーバーがOperaに与える何かファンキーなものかもしれません. <audio> を使用して mp3 をロードしても、もちろん Opera では機能しません。Opera はその形式をサポートしていないからです。

http://pieterhordijk.com/sandbox/test.oggは audio/ogg として提供されており、これは優れています。また、flac の代わりに vorbis も含まれるようになりました (修正したため)。リモートの Opera では再生されませんが、ファイルをダウンロードしてローカルの Opera で開くと正常に再生されます。Foobarでも問題なく再生されます。

http://pieterhordijk.com/sandbox/test.ogaが間違った MIME タイプで提供されます。text/plain として提供されますが、audio/ogg として提供する必要があります (これは .htaccess で修正できます)。ただし、vorbis が含まれており、Foobar で再生できます。繰り返しますが、これは Opera ではリモートで再生されません。しかし、それをダウンロードしてローカルの Opera で開くと、問題なく再生されます。

http://pieterhordijk.com/sandbox/test.wavは audio/x-wav として提供されており、これは優れています。ただし、wav ファイルのサイズは 30.9MB であり、完全にフェッチしないと再生がひどいため、ストリーミングには使用できません。これは、少なくともリモートで Opera で再生されます。

ただし、私のサイトでは問題なく動作します。http://shadow2531.com/opera/testcases/plugins/temp/peehaa/test_audio_vorbis.htmlを参照してください。oga ファイルは Opera で問題なく再生され、Vorbis をサポートしていない UA の場合は mp3 にフォールバックするはずです。

そうは言っても、サーバーがファイルを提供する方法に問題があるようです。私が気付いた唯一の違いは、サーバーが Vary: Accept-Encoding ヘッダーを送信していることです。しかし、それが原因かどうかは定かではありません。

さて、私のテストページからわかるように、次のものを使用しています:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <p>
            <audio controls width="300">
                <source src="test.oga" type='audio/ogg; codecs="vorbis"'>
                <source src="test.mp3" type="audio/mpeg">
                <a href="test.oga">test.oga</a>
                <a href="test.mp3">test.mp3</a>
            </audio>
        </p>
    </body>
</html>

それが、他のタイプにフォールバックできる方法です。詳細については、 http: //www.whatwg.org/specs/web-apps/current-work/multipage/the-if​​rame-element.html#the-source-element を参照してください。mp3 と vorbis では不十分な場合は、別のフォールバックとして mp4/m4a コンテナーに aac オーディオを追加できます。

于 2011-05-17T23:36:05.987 に答える
0

同様の問題がありました。何らかの理由でローカルの MP3 ファイルが読み込まれませんでした。私の解決策は OGG ファイルを使用することで、すべてが機能しました。私のローカル開発システムは Linux/apache2 で、Firefox 8 と Chrome 15 でテストしました。オーディオ タグはリモート MP3 と OGG ファイルで動作しましたが、ローカルで動作しなかった理由はわかりませんが、やはり OGG はローカルで動作しました。

于 2011-12-20T17:30:26.300 に答える