Hiii每个人.
下面是我的HTML.
<!DOCTYPE html>
<html>
<head>
<script src="src/recorder.js"></script>
<script src="src/Fr.voice.js"></script>
<script src="js/jquery.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div class="center_div">
<span class="recording_label">Please wait...</span>
<span class="loader_bg"></span>
<span class="loader_bg1"></span>
<br/>
<audio controls id="audio"></audio>
</div>
<style>
.center_div {
width: 500px;
height: 150px;
background-color: #f5f5f5;
border: 1px solid #808080;
position:absolute;
top:50%;
left:50%;
margin-left:-250px;/* half width*/
margin-top:-75px;/* half height*/
padding:25px;
}
.recording_label {
display: block;
text-align: center;
padding: 10px;
font-family: sans-serif;
font-size: 1.1em;
margin-bottom: 25px;
}
.loader_bg {
min-width: 100%;
background: #c5c5c5;
min-height: 20px;
display: block;
} …Run Code Online (Sandbox Code Playgroud) 我在这里和其他地方已经看到了很多部分答案,但我是一个新手编码器,我希望有一个彻底的解决方案.我已经能够通过Chrome Canary(v.29.x)中的笔记本电脑麦克风设置录制音频,并且可以使用recorder.js相对轻松地设置录制.wav文件并在本地保存,la:
http://webaudiodemos.appspot.com/AudioRecorder/index.html
但我需要能够将文件保存到我运行的Linux服务器上.它实际上是将blob记录的数据发送到服务器并将其保存为一个能够吸引我的.wav文件.我没有必要的PHP和/或AJAX知识,关于如何将blob保存到URL并按照我已经理解的方式处理Linux上的二进制文件,这使得保存.wav文件确实具有挑战性.我非常欢迎任何指示正确的方向.
在开发我的网页时,我遇到了使用HTML5的getUserMedia的一些困难.这是我第一次尝试实现此功能来录制用户音频输入.Flash不是此项目的选项,因为它也必须在移动设备上使用.
我来这里看看是否有人有经验并知道如何用getUserMedia实现HTML5以记录用户麦克风一段时间(用PHP中的会话完成),然后保存并将音频文件发送到Web服务器.
如果这是不可能的,那么有没有其他方式,也许有Java小程序?
js:
<script>
var onFail = function(e) {
console.log('Rejected!', e);
};
var onSuccess = function(s) {
var context = new webkitAudioContext();
var mediaStreamSource = context.createMediaStreamSource(s);
recorder = new Recorder(mediaStreamSource);
recorder.record();
// audio loopback
// mediaStreamSource.connect(context.destination);
}
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
var recorder;
var audio = document.querySelector('audio');
function startRecording() {
if (navigator.getUserMedia) {
navigator.getUserMedia({audio: true}, onSuccess, onFail);
} else {
console.log('navigator.getUserMedia not present');
}
}
function stopRecording() {
recorder.stop(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试将画布图像保存到服务器.我可以保存文件,但它总是0字节.我的代码出了什么问题?
<script>
function test(){
var canvas = document.getElementById("cvs");
var dataURL = canvas.toDataURL();
$.ajax({
type: "POST",
url: "upload.php",
data: {
imgBase64: dataURL
}
}).done(function(o) {
console.log('saved');
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
PHP:
<?php
define('UPLOAD_DIR', 'uploads/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
?>
Run Code Online (Sandbox Code Playgroud) 我正在使用Matt Diamond的recorder.js来浏览HTML5音频API,感觉这个问题可能有一个明显的答案,但我找不到任何具体的文档.
问题:录制wav文件后,如何通过ajax将该wav发送到服务器?有什么建议???
php ×4
audio ×3
html5 ×3
ajax ×2
javascript ×2
canvas ×1
file ×1
file-upload ×1
getusermedia ×1
html5-audio ×1
jquery ×1
microphone ×1
recorder ×1
upload ×1