1

JW Player 5.7 を使用してクライアントの Web サイトでオーディオ mp3 ファイルを 1 年以上問題なく再生しています。私のクライアントは、音声が再生されていないという電話を受けました。Chrome (v28)、Safari (v5 および v6)、IE9 で音声が再生されなくなりました。Firefox (v23) と同じように動作します。クライアントも私も通常 Firefox を使用しているため、いつ機能しなくなったのかわかりません。それがブラウザに関係しているのか、それとも何か他のものに関係しているのかはわかりません。

際立っていることの 1 つは、開発者ツールを使用すると、コンテンツ タイプ ヘッダーが Firefox (audio/mpeg3) では正しいように見えますが、Chrome、Safari、および IE9 では「text/html」に設定されていることです。

問題を確認できる Web ページへのリンクは次のとおりです: http://www.thebuzzmusiclibrary.com/music/display_album/20

この構成を少しユニークにするいくつかのこと:

  1. jwplayer コードは動的に読み込まれます。つまり、ユーザーが「矢印」アイコンの 1 つをクリックすると、「autostart」が true に設定されているため、jwplayer コードが JavaScript を介して読み込まれ、再生が開始されます。

  2. mp3 ファイルはディレクトリ ルートの上にあるため、「file」パラメータは、実際にファイルをダウンロードする PHP 関数です。

動的に読み込まれるコードは次のとおりです。

<div id="mediaplayer">This text will be replaced</div>

<script type="text/javascript">
jwplayer("mediaplayer").setup({
"file": "' + file + '",
"controlbar": "bottom",
"width": "220",
"height": "24",
"provider": "sound",
"autostart": "true",
"bufferlength": "2",
"modes": [ {type: "flash", src: "/js/player-licensed-5.7.swf"}, {type: "html5"}, {type: "download"} ]

});

mp3 ファイルをダウンロードする PHP スクリプトの主要部分は次のとおりです ($mime は 'audio/mpeg3' です)。

header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.$name.'"');
header('Content-Description: File Transfer');
header('Content-Length: '.$info['size']);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

while( ! feof($file))
{
    echo fread($file, 2048);
}

static::close_file($file, $area);

exit;
4

2 に答える 2

1

audio/mpeg31 つの問題は、標準の MIME タイプではないという事実である可能性があります。RFC 3003audio/mpegに従って使用する必要があります。

MPEG-1 および MPEG-2 標準でレイヤ I、レイヤ II、およびレイヤ III として定義されているオーディオ圧縮は、低品質の損失でオーディオを圧縮する一般的な方法です。[…] mime タイプのaudio/mpegは、MPEG-1 および MPEG-2 に基づく MPEG フレームを含むエレメンタリ バイト ストリームを定義し、非 MPEG データが散在している可能性があります。

于 2013-07-25T18:42:37.423 に答える
0

5.10 に更新します - http://www.longtailvideo.com/order/view、おそらく 5.7 がリリースされてからいくつかのブラウザーの更新が行われました。それが突然機能しなくなった理由だと思います。

于 2013-07-25T17:44:44.410 に答える