2013-05-29 34 views
5

Kullanıcıların kendi mikrofon kayıtlarından kendi ses kayıtlarını oluşturmalarına izin veren Recorder.js kullanıyorum. Ben yeniyim, bu yüzden referans noktası olarak this site kullanıyorum. Kayıtlı Ses Dosyasını Web Sunucusuna Gönderme PHP ile

Bu başlar ve
<html> 
    <head> 
     <script src="js/recorderjs/recorder.js"></script> 
     <script src="js/main.js"></script> 
     <script src="http://code.jquery.com/jquery-latest.min.js"></script> 
    </head> 

    <body> 
     <img id="record" src="mic.png" onclick="toggleRecording(this);"><br> 

     <img src="save.svg" onclick="saveAudio();"> 

     <form action="savefile.php" method="post"> 
      <input type="submit" value="Submit"> 
     </form> 
    </body> 
</html> 

Kaydı durdurur:

<img id="record" src="mic.png" onclick="toggleRecording(this);"> 

Ve bu recorder.js komut .wav dosyasını indirir:

Bu kod indirilebilir bir .wav dosyası oluşturur

<img src="save.svg" onclick="saveAudio();"> 

Bu PHP betiğini kullanıyorum ve .wav dosyasını kaydetmeye çalışın t/Ses dizinde o: Ben umut ettiğimi

Şimdi
<?php 

$save_folder = dirname(__FILE__) . "/audio"; 
if(! file_exists($save_folder)) { 
    if(! mkdir($save_folder)) { 
     die("failed to create save folder $save_folder"); 
    } 
} 

$key = 'filename'; 
$tmp_name = $_FILES["audiofile"]["tmp_name"]; 
$upload_name = $_FILES["audiofile"]["name"]; 
$type = $_FILES["audiofile"]["type"]; 
$filename = "$save_folder/$upload_name"; 
$saved = 0; 
if(($type == 'audio/x-wav' || $type == 'application/octet-stream') && preg_match('/^[a-zA-Z0-9_\-]+\.wav$/', $upload_name)) { 

    $saved = move_uploaded_file($tmp_name, $filename) ? 1 : 0; 
} 

?> 

, kullanıcı dosyayı indirmek zorunda yerine klasör/ses .wav dosyalarını yükleyen bir PHP ile bana yardımcı olmak için kişidir.

Bu konuda herhangi bir yardım çok takdir edilecektir.

+1

Merhaba Enijar yardımcı olabilir, sunucu üzerinde kaydedilen dosyayı kaydetmek yapabiliyor musunuz. Bunu nasıl yaptın. lütfen bu kodu paylaşabilir misiniz? Teşekkürler – Nitin

+0

Lütfen bu kodu paylaşın. – Nitin

cevap

4

Yerel dosyalardan bekledikleri için, usuall http dosya alanlarını kullanamazsınız. AJAX ile bir yüklemeyi deneyebilirsiniz.

var req = null; 
var url = "savefile.php"; 
var data = "": // you have to check how to get the data from your saveAudio() method 

(window.XMLHttpRequest) ? req = new XMLHttpRequest() : (window.ActiveXObject) ? req = new ActiveXObject("Microsoft.XMLHTTP") : req = false; 
req.open(method, url, true); 
req.setRequestHeader("Content-Type", "multipart/form-data"); 

if(data != null && data != "") 
{ 
    req.setRequestHeader("Content-length", data.length); 
    req.send(data); 
} 

Sen yust size saveAudio() işlevinden fileContent almak ve data değişkene içine doldurabilir öğrenmek gerekiyor.

Ve belki bu size çok uploading files with ajax