Pergunta

Estou tentando escrever um aplicativo da web que grave arquivos WAV (por exemplo:do microfone do usuário).Eu sei que o Javascript sozinho não pode fazer isso, mas estou interessado no método menos proprietário para aumentar meu Javascript.Meus navegadores direcionados são Firefox para PC e Mac (portanto, sem ActiveX).

Acho que isso pode ser feito com Flash (mas não como um arquivo formatado em WAV).Presumo que isso pode ser feito com Java (mas não sem assinatura de código).Essas são as únicas opções?

Gostaria de gravar o arquivo como WAV porque o objetivo do webapp será montar uma biblioteca de bom frases curtas de qualidade.Estimo que o upload será de 50 MB, o que vale a pena pela qualidade.O aplicativo será utilizado apenas em nossa intranet.

ATUALIZAR:Agora existe uma solução alternativa graças à próxima API de áudio do JetPack:Ver https://wiki.mozilla.org/Labs/Jetpack/JEP/18

Foi útil?

Solução

O Flash requer que você use um servidor de mídia (nota:Ainda estou usando o Flash MX, mas uma rápida pesquisa no Google traz documentação para o Flash CS3 que parece concordar - observe que o Flash CS4 será lançado em breve, poderá mudar então).A Macromedia/Adobe pretende açoitar seu servidor de mídia, mas o projeto de código aberto Red5 pode ser adequado para o seu projeto:

http://osflash.org/red5

Acho que Java será mais adequado.Eu vi um miniaplicativo que pode fazer o que você quiser no Moodle (um ambiente virtual de aprendizagem de código aberto):

http://64.233.183.104/search?q=cache:k27rcY8QNWoJ:moodle.org/mod/forum/discuss.php%3Fd%3D51231+moodlespeex&hl=en&ct=clnk&cd=1&gl=uk

(site obrigatório para adesão, mas aberto ao Google, portanto o link leva para a página de cache do Google).

Outras dicas

Este é um tópico antigo, mas a questão continua relevante.Deve-se observar que existe uma maneira de gravar áudio para o servidor em Flash sem back-end proprietário.Aqui está um exemplo de projeto para você começar:

https://code.google.com/p/wami-recorder/

Suas únicas opções são Flash, Java, ActiveX ou escrever uma extensão personalizada do Firefox.Flash é provavelmente sua melhor opção - você pode escrever ou usar um aplicativo Flash existente para fazer a gravação e manter quase todo o resto em Javascript puro.

Por que você quer um arquivo WAV?Se você está planejando processar os bits reais da forma de onda no cliente, provavelmente é uma má ideia;o cliente pode estar muito lento e você não conseguirá realmente manipular o arquivo.Se você deseja enviar o som de volta ao servidor, é muito melhor enviar um arquivo compactado e descompactá-lo no servidor.

Flash será sua melhor solução.

Espero que isso ajude: http://www.kirupa.com/forum/showthread.php?t=17331

Sim, acredito que Flash ou Java-Applet são as únicas maneiras de fazer isso.Como você não pode interagir com um microfone, você deve usar algum tipo de plugin de navegador, é a única maneira de usar o microfone.Não conheço nenhum outro plugin que forneça esses recursos.Uma rápida pesquisa no Google não revelou outras possibilidades.Acho que o mais fácil seria usar o Flash.

Outra solução, se você não se importa que seus usuários instalem um plugin, é usar o plugin Runtime Revolution RevWeb, que suporta gravação de áudio no navegador (e é trivial de implementar, fiz um miniaplicativo de teste para confirmar isso em cerca de 10 minutos). http://revweb.runrev.com/

Você pode baixar o Real Producer Basic, que é gratuito aqui (http://forms.real.com/rnforms/products/tools/producerbasic/) e incorpore-o como um objeto ActiveX, pois está na sua intranet.O Flash será incorporado da mesma forma, está em todas as estações de trabalho do escritório, mas como esta é a sua intranet, você poderá instalá-lo em todas as máquinas com AD.Arquivos de áudio reais são muito pequenos em comparação com wav e têm um ótimo som.Aqui está um link para o guia prático do Real Sudio ActiveX. http://service.real.com/help/library/guides/activex/producerx.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top