Потоковое воспроизведение MP3 (с использованием SWF) через SSL работает в Firefox и Chrome, но не в IE 7 или 8 - PullRequest
0 голосов
/ 04 августа 2011

Я использую WP Audio player для передачи mp3 файлов.

Вот как я встраиваю плеер:

            AudioPlayer.embed("player_new_7b4c6a94c8f3cc3f79ce7b8cc4946103", {  
                soundFile: "file/read/Mdjk7EGOzSzNUmNa8NYhgn6oCQwxoKhzw27EL27cgwCUUd9BLYpRIkt",  
                noinfo: "yes",
                autostart: "no" ,
                animation: "no",
                buffer: 1,
                remaining: "yes"
            });  

PHP получает файл и затем выводит содержимое:

$file = new File();
if($data = $file->readFromInbox($request->get('file'))
{
    header("Content-Type: audio/mpeg");
    header("Content-Transfer-Encoding: binary");    
    header('Content-Length: ' . $data->getSize());
    header('X-Pad: avoid browser bug');     
    header("Cache-Control: no-store");
    header("Cache-Control: no-store, must-revalidate");
    header("Cache-Control: no-store,max-age=0,must-revalidate");
    header("Cache-Control: max-age=0,must-revalidate");
    header("Cache-Control: must-revalidate");
    echo $data->getData();
    exit();
}
else
{
  $this->redirect404();
}

Все приложение использует SSL. Нет стандартного доступа через порт HTTP 80.

Это прекрасно работает на Chrome, Firefox, Opera и т. Д., Но не на IE.

Я прочитал этот пост: http://faindu.wordpress.com/2008/04/18/ie7-ssl-xml-flex-error-2032-stream-error/

По-видимому, у Flash возникают проблемы с открытием файлов через SSL при использовании IE.

Любая помощь будет принята с благодарностью. спасибо.

РЕДАКТИРОВАТЬ: Это работает в IE9. Просто не IE7 или IE8

1 Ответ

0 голосов
/ 16 августа 2011

Я нашел решение.

Эти заголовки и решили проблему:

header ("Cache-Control: no-store");
header ("Expires: -1");
header ("Pragma: public");

Плюс, конечно, со стандартными заголовками:

header("Content-Type: audio/mpeg");
header("Content-Transfer-Encoding: binary");    
header('Content-Length: ' . $data->getSize());
header('X-Pad: avoid browser bug'); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...