2015. 11. 14. 17:33ㆍ개발/jQuery
기본은
http://webaudiodemos.appspot.com/AudioRecorder/index.html
여기서 많이 참고를 하였다.
위 예제는 녹음을 하고 wav파일로 다운을 받는 예제이다.
소스보기를 해서 (이렇게 얘기를 해도 될랑가)
recorder.js와 recorderWorker.js를 가져와서 썼다.
소스를 보면 알겠지만 위 예제는 mattdiamond의 recorderjs를 쓰고 있다.
미리듣기
나는 "미리듣기" 도 필요했기에 audio 태그를 하나 만들어 두었다.
<audio controls id='play' class='play' src=''></audio>
그리고 recorder.js에서 Recorder.forceDownload 부분에 추가
link = document.getElementById("play");
link.src = url;
서버에 업로드
미리듣기 및 다운로드는 blob를 이용하기 때문에 얘를 따로 저장할 필요가 있었다.
function doneEncoding( blob ) 부분에
b = blob 추가
그리고 업로드 버튼을 만들고
XMLHttpRequest를 이용해서 업로드를 진행하였다.
var xhr = new XMLHttpRequest();
var wav;
xhr.onload = function(e) {
if(this.readyState === 4) {
console.log(e.target.responseText);
}
};
var fd = new FormData();
fd.append("random.wav",b);
xhr.open("POST", 'audio_upload.php', true);
xhr.send(fd);
audio_upload.php에서는 move_uploaded_file를 이용해 업로드 하였다.
<?php
$file_name = date("YmdHis")."_".time();
$tmp_filename = $_FILES["random_wav"]["tmp_name"];
rename($tmp_filename,"./audio/{$file_name}.wav");
$uploadDir = './audio';
move_uploaded_file($tmp_filename, "$uploadDir/$tmp_filename");
echo $file_name;
?>
'개발 > jQuery' 카테고리의 다른 글
jQuery, Dropdown Table Filter에서 select option filter 추가 (0) | 2016.11.21 |
---|---|
저장된 checkbox list 가져오기 + 기타항목 (0) | 2016.06.28 |
iOS에서 jQuery 클릭 이벤트가 작동하지 않을때 (0) | 2015.09.16 |