2015-09-23 3 views
0

Я хочу, чтобы сохранить аудио, когда запрос VXML послал за ИВР, я разрабатываю ИВР код, как это ..Как получить перекодировать файл сохранить в виде файла .wave

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.1"> 
<form> 
    <record name="myrecording" beep="true"> 
     <prompt> 
     Please record a message after the beep. 
     </prompt> 
     <filled> 
     <prompt> 
      You just recorded the following message: <value expr="myrecording"/> 
     </prompt> 
     </filled> 
    </record> 
    </form> 
</vxml> 

Я хочу, чтобы получить Сообща перекодирование и после игры. как это сделать? Я хочу ответить в java.

ответ

2

Вы можете сохранить записанное сообщение, добавив тег своей записью var и обработать запрос отправки с использованием некоторого кода на стороне сервера, такого как PHP/JSP/ASPX. Пример PHP:
Редактирование: добавление записи.jsp, которая использует apache Обще: http://commons.apache.org/proper/commons-fileupload/
также record.vxml модифицирован, чтобы передать данные в record.jsp, record.php хранится в виде ссылки

"record.vxml"

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.1"> 
    <form> 
     <record name="myrecording" beep="true"> 
      <prompt> 
       Please record a message after the beep. 
      </prompt> 
      <filled> 
       <prompt> 
        You just recorded the following message: <value expr="myrecording"/> 
       </prompt> 
       <submit expr="record.jsp" method="post" namelist="myrecording" enctype="multipart/form-data" />  
      </filled> 
     </record> 
    </form> 
</vxml> 

"record.php"

<?PHP 
header('Cache-Control: no-cache'); 
error_reporting (0); 
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; 
echo "<vxml version=\"2.0\">"; 
echo "<form id=\"main\">"; 
echo "<block>"; 
if ($HTTP_POST_FILES) { 
foreach ($HTTP_POST_FILES as $key => $value) { 
    foreach ($value as $Filename) { 
    if (strpos($Filename, "WINNT")) { $ServerSide = $Filename; } 
    if (strpos($Filename, ".wav")) { $ClientSide = $Filename; } 
    } // for each statement 
    $ServerSide = str_replace("\\\\", "/", $ServerSide); 
    if (!copy($ServerSide, "c:/audio-storage/temp.wav")) { 
    echo "Could not save filename: " . $ServerSide; 
    } // if statement 
    else { 
    echo "Successfully saved filename: " . $ServerSide; 
    } // else statement 
} // for each statement 
} // if statement 
echo "</block>"; 
echo "</form>"; 
echo "</vxml>"; 
?> 

record.jsp

<%@ page import="org.apache.commons.fileupload.*"%> 
<%@ page import="org.apache.commons.fileupload.servlet.*"%> 
<%@ page import="org.apache.commons.fileupload.disk.*"%> 
<%@ page import="java.util.*"%> 
<%@ page import="java.io.*"%> 
<%@ page import="java.util.Date"%> 
<%@ page import="java.text.DateFormat"%> 
<%@ page import="java.text.SimpleDateFormat"%> 
<?xml version='1.0'?> 
    <vxml version="2.1"> 
    <form> 
    <% 
     DateFormat dateFormat = new SimpleDateFormat("yyyy_MM-dd_HH:mm:ss"); 
     Date date = new Date(); 
     boolean isMultipart = ServletFileUpload.isMultipartContent(request); 
     FileItemFactory factory = new DiskFileItemFactory(); 
     ServletFileUpload upload = new ServletFileUpload(factory); 
     List fileItems = null; 

     try { 
     fileItems = upload.parseRequest(request); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 

     try { 
     Iterator iter = fileItems.iterator(); 

     while (iter.hasNext()) { 
      FileItem item = (FileItem) iter.next(); 
      String newFileName = "Recording-" + dateFormat.format(date); 
      String inputFilePath = "c:/audio-storage/"+ newFileName + ".wav"; 
      File file = new File(inputFilePath); 

      try {//Writing the wav file 
      item.write(file); 
      } catch (Exception e) { 
      e.printStackTrace(); 
      } 
     } 
     } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    %> 
    <block> 
     <prompt> Audio upload complete! </prompt> 
    </block> 
    </form> 
</vxml> 
+0

пожалуйста ответить с помощью Java, JSP, в веб-службы RESTful. –

+1

уверен, ответ отредактировал –

+0

, пожалуйста, покажите мне ответ в спокойной веб-службе. –

 Смежные вопросы

  • Нет связанных вопросов^_^