【问题标题】:Load audio file with PHP and play with JS用 PHP 加载音频文件并用 JS 播放
【发布时间】:2013-12-28 21:37:37
【问题描述】:

我正在尝试使用 php 加载波形音频文件并使用 javascript 播放音频。

我的 Javascript 代码:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', 'php/test.php', true); 
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.onreadystatechange = function(){
  if(xmlhttp.readyState == 4) {
    var audio = new Audio("data:audio/wave;base64," + btoa(unescape(encodeURIComponent(xmlhttp.responseText))));
    audio.play();
  }
}
xmlhttp.send(url);

我的 PHP 代码:

<?php
  readfile("test.wav");
?>

不幸的是,它不起作用。有什么想法吗?

【问题讨论】:

  • 通过确切发生的事情更加明确。 IE。 “它不起作用”是什么意思?
  • 我没有收到任何 javascript 错误,也没有播放音频文件。我还在命令行上测试了 php-script 并获取了 wave 文件的内容。 php 脚本的响应文本似乎还可以,我不太确定编码是否有效。

标签: javascript php xmlhttprequest


【解决方案1】:

怎么样:

var audio = new Audio("data:audio/wav;base64," + escape(btoa(xmlhttp.responseText)))

您可以直接将 AJAX 请求指向 .wav 文件。

【讨论】:

  • 我之前已经尝试过了,但是 btoa 会导致 javascript 错误:“字符串包含无效字符”。
猜你喜欢
  • 1970-01-01
  • 2019-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
  • 1970-01-01
相关资源
最近更新 更多