У меня есть этот код для захвата аудио со стороны клиента (штук 5 секунд) отправил его на сервер для сохранения его в формате mp3
var rec; вар поток; navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; if (navigator.getUserMedia) { navigator.getUserMedia ({audio: true, video: false}, функция (_stream) { поток = _stream; console.log (поток); document.getElementsByTagName ('video') [0] .src = URL.createObjectURL (_stream); }, функция (е) { console.log («Нет!», e); }); } function start () { rec = новый MediaRecorder (поток); rec.ondataavailable = function (e) { start_saving ([e.data]); } rec.start (5000); } function stop () { Остановка записи (); } function start_saving (chuck) { var blob = new Blob (chuck, {type: 'audio / mpeg3'}); // var blob = new Blob (chuck, {type: 'video / mpeg'}); //document.getElementsByTagName('video')[0].src = URL.createObjectURL (blob); var data = new FormData (); data.append ('file', blob); $ .Ajax ({ URL: "stream.php", тип: 'POST', данные: данные, contentType: false, processData: false, success: function (data) { console.log (данные); }, ошибка: функция () { console.log (данные); } }); } Начните();
if (isset ($ _ FILES ['file']) и! $ _ FILES ['file'] ['error']) { $ fname = time (). ».Mp3" ; move_uploaded_file ($ _ FILES ['file'] ['tmp_name'], "streams /". $ fname); }
Все сделано хорошо, но проблема в том, как я могу передать эти небольшие части аудио другим клиентам.
Задача ещё не решена.
Других решений пока нет …