jPlayer Safari 5.0.6 не воспроизводит звук (скрипт загрузки PHP) - PullRequest
1 голос
/ 13 марта 2012

У меня проблемы с jPlayer. Звук воспроизводится нормально в последней версии Safari на Lion, но я не могу заставить его работать в Safari 5.0.6.

У меня аудио находится за пределами httpdocs для безопасности, поэтому я реализовал скрипт для загрузки аудио.

function playSong(id,title){

    $("#jquery_jplayer").jPlayer("setMedia", { mp3: "/download.php?id=" + id });
    $("#jp_container .track-name").text(title);
    $("#jquery_jplayer").jPlayer("play", 0);

}

Download.php в настоящее время выглядит следующим образом, и это решение, которое я нашел от другого пользователя в stackoverflow.

// array of support file types for download script and there mimetype
$mimeTypes = array(
    'doc' => 'application/msword',
    'pdf' => 'application/pdf',
    'mp3' => 'audio/mpeg'
);
// set the file here (best of using a $_GET[])
$file = "../song_files/mp3/$_GET[id].mp3";

// gets the extension of the file to be loaded for searching array above
$ext = explode('.', $file);
$ext = end($ext);

// gets the file name to send to the browser to force download of file
$fileName = explode("/", $file);
$fileName = end($fileName);

$fsize = filesize($file);
// opens the file for reading and sends headers to browser
$fp = fopen($file,"r") ;
header("Content-Type: ".$mimeTypes[$ext]);
header('Content-Disposition: attachment; filename="'.$fileName.'"');
header('Accept-Ranges: bytes');
header('Content-Range: bytes');
header("Content-Length: ".$fsize); 

// reads file and send the raw code to browser     
while (! feof($fp)) {
    $buff = fread($fp,4096);
    echo $buff;
}
// closes file after whe have finished reading it
fclose($fp);

Я понимаю, что это может быть связано с отправляемыми мной заголовками, и более старая версия Safari не обрабатывает их правильно, однако я могу успешно загрузить файл, если захожу на download.php? Id = 1 .

Любая идея, как я могу видеть, что делает jPlayer, т.е. возвращает ошибку, например, не удается найти файл? Если кто-то может указать мне правильное направление, это будет оценено.

...