Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar mensagem por audio para um email


payback

Pergunta

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 name="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/l
    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- Inclui 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.destinatario.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

1 resposta a esta questão

Posts Recomendados

  • 0

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 no host ) 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 :

//function para pegar campo do formulário  
$.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 porque.
Agradeço a atenção dispensada

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...