Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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

Editado por DiF
Botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 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

    Editado por DiF
    Botão CODE <>

    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






    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

    ×