Ir ao conteúdo
  • Cadastre-se

Enviar mensagem de audio para um email


Posts recomendados

Inicialmente informo-lhes que meu conhecimento em php é rasteiro.
Pesquisando este assunto na internet encontrei na https://github.com/sythoos/jRecorder/
um jQuery plugin com scripts em php que grava uma mensagem em voz no formato wav.

 

Após estudá-lo consegui implementá-lo em 3 etapas :

 

1 - Gravar uma mensagem por voz.

    Nesta etapa coloquei na variável chamada
    host: 'http://nome-do-servidor/jRecorder/temp/acceptfile.php?filename=hello.wav'.
    que captura o mensagem de voz e grava com o nome hello.wav
    Nota - Não existe a instrução <form nome="audio" method="get" action="script.php">

   O script acceptfile.php tem as instruções :

 

  

if(!isset($_REQUEST['filename']))   {     exit('No file');   }
   $upload_path = dirname(__FILE__). '/';  
   $filename = $_REQUEST['filename'];  
   $fp = fopen($upload_path."/".$filename.".wav", "wb");  
   fwrite($fp, file_get_contents('php://input'));  
   fclose($fp);  
   exit('done');

 

2 - Ajustei um script em php que peguei no diretório php/extras/email/
    no acceptfile.php e declarei nas variáveis remetente e destinatário nomes aaaaaaa e bbbbbbb.
    Testei este script e está funcionando.
    Nota - na mensagem do email criei um link para editar o hello.wav 

3- Incluir no acceptfile.php instruções para criar um arquivo chamado audio.php que
   edita o hello.wav ( link citado no item 2 ) e está funcionando.

 

O meu problema é em passar para o script acceptfile.php os nomes do remetente e destinatário
a ser informado pelo usuário na tela inicial.

Realizei as seguintes alterações no script :

- incluir os campos remetente e destinatário no formulário inicial
- declarei a instrução <form name="audio" method="get"> sendo que
  from=document.audio.remetente.value
  to=document.audio.destinatario.value
- Verifiquei que nestas variáveis os nomes informados estão corretos
  entretanto não são passadas para acceptfile.php através da declaração host
  que alterei para :
  host: 'http://nome-do-servidor/jRecorder/temp/acceptfile.php?filename=hello.wav&remetente=from&destinatario=to'
- No arquivo acceptfile.php realizei as seguintes alterações :
  $remetente = $_REQUEST['remetente'];  
  $destinatario = $_REQUEST['destinatario'];
  Verifiquei que estão em branco ou igual a espaço.

Me desculpem pelo longo texto.
Alguém sabe como resolver isto ?

Agradeço a atenção .

kleber

Link para o comentário
Compartilhar em outros sites

Após pesquisar na internet e realizar vários testes concluir que a melhor solução é concatenar
os campos de entrada de dados , gravá-lo em um campo oculto e passá-los para o script acceptfile.php :
   
host: 'http://nome-do-servidor/jRecorder/temp/acceptfile.php?recado_paulo_margarete' onde

recado é o nome do arquivo de audio 
paulo é o emitente
margarete é a destinatária 

 

Nota -Testei assim ( com string ) e funcionou.

 

No script acceptfile.php  capturei os dados assim :

$parte = explode('_', $filename);
$audio=$parte[0];
$emitente=$parte[1];
$destinatario=$parte[2];

 

Para capturar os campos informado pelo usuário incluir a seguinte função :

$.jRecorder.field = function(){
 var audio = $("input[type=text][name=nome]").val();
 var de = $("input[type=text][name=remetente]").val();
 var para = $("input[type=text][name=destinatario]").val();
 var concatenado=audio + "_" + de + '_' + para;
 var a = document.getElementById('concatenado');
 a.value = concatenado;
 alert ( $("input[type=hidden][name=concatenado]").val() );
}

 

Nota - Testei e é apresentado os campos digitados na entrada de dados pelo alert.

 

Entretanto quando passo o campo concatenado para a declaração host recebo um undefined.
host : "http://servidor/audiorecorder/temp/acceptfile.php?filename="+$("input[type=hidden][name=concatenado]").val();

Este problema tem a ver com jquery.
Alguém sabe resolver isto.
Agradeço a atenção dispensada

kleber

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...