Ir ao conteúdo
  • Cadastre-se
kleber-caetano

Enviar mensagem de audio para um email

Recommended Posts

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×