2012-02-20 17 views
9

Tôi rất mới với Máy ghi âm Wami và tôi chưa bao giờ làm việc với Flash, vì vậy đây có thể là một câu hỏi ngớ ngẩn.Trình ghi Wami thực sự được triển khai như thế nào?

Về cơ bản, làm cách nào để thực hiện Trình ghi Wami? Tôi đã nhìn thấy nó trên trang web, và nó hoạt động tuyệt vời trên đó, nhưng khi tôi tải về nó và cố gắng sử dụng nó trong localhost như một phần của Xampp, nó không hoạt động.

Nếu ai đó có thể viết câu trả lời Wami Recorder for Dummies, điều đó hoàn toàn tuyệt vời.

Tôi đang sử dụng tính năng này trong CakePHP 2.0 nếu có ai đó biết cách sử dụng nó trong khuôn khổ đó. Về cơ bản tất cả những gì tôi đang cố gắng làm là ghi lại âm thanh, lưu tệp vào một thư mục và có thông tin POST để có thể lưu một số chi tiết nhất định về tệp vào cơ sở dữ liệu.

Trả lời

15

Vâng, tài liệu không rõ ràng. Tôi đã dành tất cả buổi chiều ngày hôm qua để tìm ra. Đây là một triển khai đơn giản hoạt động trên máy cục bộ của tôi. Các tệp sau được lưu trữ dưới gốc tài liệu Apache của tôi trong "/ temp/wami/test", do đó, URL là "http: // localhost/temp/wami/test /":

index.html
ghi. 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); 

Điều đó nên thực hiện. Thật không may, dường như không có cách nào để tạm dừng và sau đó tiếp tục quay. Mỗi lần bạn bắt đầu quay, nó sẽ ghi đè âm thanh trước đó. Có vẻ như không phải là cách để truy xuất thông tin về tệp âm thanh (ví dụ: chiều dài, kích thước). Xem tập tin ghi Wami (recorder.js) để có danh sách đầy đủ các chức năng ghi.

+0

Cảm ơn bạn rất nhiều !!!! –

+0

tôi đã ném câu trả lời tuy nhiên tôi đã không nhận được chức năng ghi âm – ronan

+0

Cảm ơn, đã làm việc như một sự quyến rũ! Đảm bảo bạn tạo thư mục nơi bạn muốn lưu tệp có thể ghi :-) –

Các vấn đề liên quan