2012-02-20 12 views
9

Sono molto nuovo al Wami Recorder e non ho mai lavorato con Flash, quindi questa potrebbe essere una domanda stupida.Come viene effettivamente implementato Wami Recorder?

Fondamentalmente, come si fa a implementare il Wami Recorder? L'ho visto sul sito web, e funziona benissimo lì, ma quando lo scarico e cerco di usarlo in localhost come parte di Xampp, non funziona.

Se qualcuno potesse scrivere una risposta Wami Recorder for Dummies, sarebbe davvero fantastico.

Sto usando questo in CakePHP 2.0 se qualcuno sa particolarmente come usarlo all'interno di quel quadro.

Fondamentalmente tutto quello che sto cercando di fare è registrare l'audio, salvare il file in una directory e avere informazioni POST per poter salvare determinati dettagli sul file in un database.

risposta

15

Sì, la documentazione non è molto chiara. Ho passato tutto il pomeriggio ieri a capirlo. Ecco una semplice implementazione che funziona sulla mia macchina locale. I seguenti file sono memorizzati sotto la mia radice del documento Apache in "/ temp/Wami/test", per cui l'URL è "http: // localhost/temp/wami/test /":

index.html
registratore. js
save_file.php
Wami.swf

index.html

<!-- index.html --> 
    <html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script></script> 
     <script src="recorder.js"></script> 
    </head> 

    <body> 
     <div id="recorder"> 
      <button id="record">Record</button> 
      <button id="play">Play</button> 
     </div> 
     <div id="flash"></div> 
    </body> 

    <script> 
     // initialize Wami 
     Wami.setup({ 
      id: 'flash' // where to put the flash object 
     }); 

     // initialize some global vars 
     var recording = ''; 
     var recordingUrl = ''; 
     var playBackUrl = ''; 

     // get button elements 
     var record = $('#record'); 
     var play = $('#play'); 

     // define functions 
     function startRecording() { 
      recording = 'temp.wav'; 
      recordingUrl = 'http://localhost/temp/wami/test/save_file.php?filename=' + recording; 
      Wami.startRecording(recordingUrl); 
      // update button attributes 
      record 
       .html('Stop') 
       .unbind() 
       .click(function() { 
        stopRecording(); 
       }); 
     } 

     function stopRecording() { 
      Wami.stopRecording(); 
      // get the recording for playback 
      playBackUrl = 'http://localhost/temp/wami/test/' + recording; 
      // update button attributes 
      record 
       .html('Record') 
       .unbind() 
       .click(function() { 
        startRecording(); 
       }); 
     } 

     function startPlaying() { 
      Wami.startPlaying(playBackUrl); 
      // update button attributes 
      play 
       .html('Stop') 
       .unbind() 
       .click(function() { 
        stopPlaying(); 
       }); 
     } 

     function stopPlaying() { 
      Wami.stopPlaying(); 
      // update button attributes 
      play 
       .html('Play') 
       .unbind() 
       .click(function() { 
        startPlaying(); 
       }); 
     } 

     // add initial click functions 
     record.click(function() { 
      startRecording(); 
     }); 

     play.click(function() { 
      startPlaying(); 
     }); 
    </script> 

    </html> 

save_file.php

<?php 
    /* save_file.php */ 

    // get the filename 
    parse_str($_SERVER['QUERY_STRING'], $params); 
    $file = isset($params['filename']) ? $params['filename'] : 'temp.wav'; 
    // save the recorded audio to that file 
    $content = file_get_contents('php://input'); 
    $fh = fopen($file, 'w') or die("can't open file"); 
    fwrite($fh, $content); 
    fclose($fh); 

Che dovrebbe farlo. Sfortunatamente, non sembra essere un modo per mettere in pausa e quindi riprendere la registrazione. Ogni volta che inizi a registrare, sovrascrive l'audio precedente. Inoltre, non sembra essere un modo per recuperare informazioni sul file audio (ad esempio lunghezza, dimensione). Vedere il file del registratore Wami (recorder.js) per un elenco completo delle funzioni del registratore.

+0

Grazie mille !!!! –

+0

stavo per lanciare la risposta ma non ho ottenuto la funzione di registrazione – ronan

+0

Grazie, ha funzionato come un fascino! Assicurati di creare la directory in cui vuoi salvare il file scrivibile :-) –

Problemi correlati