2011-10-27 12 views
2

私は働くバンドを行進するためのサイトをホストしています。私は完全に機能しているメンバーセクションにログインしています。私はホット/ダイレクトリンクから私のmp3sを保護する.htaccessフォルダを持っています。 Safari、Chrome、Firefoxで再生するファイルを取得できますが、iPhoneでは再生できません。iOS5モバイルSafariはmp3を使用してPHPを使用しています

私は、コンテンツを提供するためのhtml5オーディオタグを作成するPHPファイル内のヘッダーを使用してコンテンツを提供しています。私は成功してPHPでreadfile()を試してみました。

怒鳴るPHPファイル:(マイナスセキュリティチェック)

$_GET['f'] = "privatefolder/" . $_GET['f']; 
$filename = $_GET['f']; 
$filesize = @filesize($filename); 

$len = strlen($filename); 
$shortlen = $length - 1; 
header('Content-Range: bytes 0-'.$shortlen.'/'.$len); 

header("Last-Modified: ".filemtime($filename)); 
header("Content-Transfer-Encoding: binary"); 
header("Content-Type: audio/mpeg");//mpeg 
header("Etag: W5M0MpCehiHzreSzNTczkc9d"); 
header("Content-Description: {$filename}"); 
header("Content-length: {$filesize}"); 
header("Content-Disposition: filename=button.mp3"); 
header("X-Pad: avoid browser bug"); 
header("Cache-Control: no-cache"); 
header("Connection: close"); 

echo "<audio controls='controls'><source src='".file_get_contents($_GET['f'])."' type='audio/mp3' /></audio>"; 
exit; 

このコードは、メインのブラウザの全てでうまく動作しますが、ページを開こうとすると、私のiPhone上で、モバイルSafariがロックアップするとクラッシュ!

私には何が欠けていますか?私はそれがヘッダの問題であり、quicktimeが "ダウンロード/ストリーム"する方法であると仮定しています。私は2週間これを戦っている、私が見つけることができるすべてのソリューションを試してみました!助けてください!!!

* Opera Mini Browserでページを開いて、サファリにリンクを送信し、問題なしでQuickTimeで再生します。私はそれが可能であることを知っている!

答えて

0

ヘッダーを送信することはできません。mp3ファイルであると思われ、同時にHTMLも含めてください。私はそれがどんなブラウザでも動作することに全くショックを受けています。

あなたのHTMLはのようになります。mp3.phpにはヘッダーがあり、mp3ファイルの内容が出力されます。

+0

返信ありがとう!私はもともとそれをそのように試みましたが、何らかの理由でそれは仕事をしませんでした。キャッシュをクリアしてSafariを再起動して動作させる必要があるようです。だから私はここにいます。その方法はSafariとChromeではうまく動作しますが、Firefoxではうまく動作しません。 [Test Link](http://www.pvband.org/testlink1.php)そして、Mobile Safariでは、ファイルを読むことができません。私は本当にFirefoxにはあまり関心がありません。私は通常、これらのファイルのダウンロードを強制的に学生に強制しますが、実際には本当にこれがiPhoneのMobile Safariで動作したいと思っています。何か案は? – JazzyB

1

iOS4で動作し、iOS5で動作しません。 私は拡張子がmp3として動作するように "mp3"でなければならないと思います...

関連する問題