Как воспроизвести аудиофайл (.wav) в браузере, а не скачать его? - PullRequest
0 голосов
/ 01 января 2019

Согласно CrazyCall Документы Я могу загрузить запись вызова, поэтому я попытался использовать PHP curl, чтобы получить его:

<?php 

function records(){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.crazycall.com/api/v1/calls/2/recording");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

$headers = array();
$headers[] = "X-Api-Token: XCEFERlmvoj349jimXXXXXX";
$headers[] = "Account: WSXDEXXXXX.crazycall.com";
$headers[] = "Host: api.crazycall.com";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);

return $result;

}

$sample = records();

header("Content-type: audio/wav");
header("Content-Disposition: attachment; filename=record.wav");
echo $sample;

?>

Это прекрасно работает, но теперь я хочучтобы воспроизвести аудиофайл в браузере, а не загрузить его, я попытался использовать звуковую метку так:

<html><body>
<audio controls autoplay>
<source src="<?php echo $sample; ?>" type="audio/wav">
    Your browser does not support the audio element.
</audio>
</body></html>

Но это не работает, как я могу это исправить?

I 'Мне нравится твоя помощь

1 Ответ

0 голосов
/ 02 января 2019

Проблема с Content-Disposition: attachment;

Это говорит браузеру о загрузке файла.

Попробуйте изменить attachment на inline согласно https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...