Player de Som (wav, flac, mp3, aif, ...)

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por asimoes »

Código: Selecionar todos

FUNCTION MAIN
   Play("update.mp3")
   inkey(1)
   Play("update.wav")
   inkey(1)
   Play("update.aif")
   inkey(1)
   Play("update.flac")
   inkey(1)
RETURN Nil

FUNCTION Play(cMedia)
   cMedia := '"'+cMedia+'"'
   mciSendString("open "+cMedia+" type mpegvideo" , NIL, 0, 0)
   mciSendString("play "+cMedia, NIL, 0, 0)
 
return Nil

#pragma BEGINDUMP

#include <windows.h>
#include "hbapi.h"
#include "hbstack.h"
#include "hbapiitm.h"

HB_FUNC ( MCISENDSTRING )
{
   BYTE bBuffer[ 255 ];

   hb_retnl( ( LONG ) mciSendString( ( LPSTR) hb_parc( 1 ), ( LPSTR ) bBuffer, 254, ( HWND ) hb_parnl( 3 ) ) );
}
#pragma ENDDUMP
Anexos
sample.zip
Sample de audio para teste
(2.1 MiB) Baixado 79 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por asimoes »

Continuando...

Que tal um player de vídeo, pode ser uma demonstração do sistema, ou manual em video.

Código: Selecionar todos

hb_ThreadStart( { |oThr|Play("Olhos.da.Justica.2015.BDRip.XviD.Dual.Áudio-DeadPool.avi", 'AVIVideo')} )

FUNCTION Play(cMedia, cType)
   hb_Default(@cType, "mpegvideo") 
   cMedia := '"'+cMedia+'"'  
   mciSendString("open "+cMedia+" type " + cType , NIL, 0, 0)
   mciSendString("play "+cMedia, NIL, 0, 0)
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por asimoes »

Continuando,

Mais controles:

Código: Selecionar todos

   Play("Open", "Olhos.da.Justica.2015.BDRip.XviD.Dual.Áudio-DeadPool.avi", 'AVIVideo')
   Play("Play")
   Inkey(10)
   Play("Stop")
   Inkey(5)
   Play("Close")

FUNCTION Play(cOper, cMedia, cType)
   THREAD STATIC xMedia
   hb_Default(@cOper, 'Open')
   hb_Default(@cMedia, '')
   hb_Default(@cType, "mpegvideo") 
   * Types:
   * waveaudio 
   * mpegvideo
   * AVIVideo
   IF !Empty(cMedia)
      cMedia := '"'+cMedia+'"'  
      xMedia := cMedia
   ENDIF
   SWITCH cOper
   CASE 'Open'
      mciSendString("open "+cMedia+" type " + cType , NIL, 0, 0)
      EXIT
   CASE 'Play'
      mciSendString("play "+xMedia, NIL, 0, 0)
      EXIT
   CASE 'Stop'
      mciSendString("stop "+xMedia, NIL, 0, 0)
      EXIT
   CASE 'Close'
      mciSendString("close "+xMedia, NIL, 0, 0)
      EXIT
   ENDSWITCH
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por asimoes »

Continuando,

Capturando audio microfone com a função mciSendString
Coloque qualquer fonte de audio para tocar e execute o programa.
Depois veja o arquivo gerado sample.wav

Código: Selecionar todos

mciSendString("open new type waveaudio alias capture" , NIL, 0, 0)
mciSendString("record capture" , NIL, 0, 0)
Inkey(30) //captura 30 segundos de audio
mciSendString("stop capture" , NIL, 0, 0)
mciSendString("save capture sample.wav" , NIL, 0, 0)
mciSendString("close capture" , NIL, 0, 0)
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por Toledo »

Alexandre, no caso do vídeo (AVI), ele é apresentado aonde? Abre algum player do Windows?

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por asimoes »

Olá Toledo,

Estou pesquisando como capturar o vídeo, a gravação de audio do microfone eu consegui
Assim, o video é apresentado em uma janela filha. Não é executado nenhuma aplicação do windows.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por rochinha »

Amiguinhos,

Interessante...

Vou ficar de olho no tópico.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Player de Som (wav, flac, mp3, aif, ...)

Mensagem por asimoes »

Continuando,

Usando mciSendString

Código: Selecionar todos

   mciSendString("open teste.mp3 alias MyMedia", NIL, 0, 0) //abre o mp3
   mciSendString("play MyMedia wait", NIL, 0, 0) // toca o mp3 até o fim (usando o parâmetro wait)
   mciSendString("close MyMedia", NIL, 0, 0) // fecha o mp3
Sobre o parâmetro wait
MCI commands usually return to the user immediately, even if it takes several minutes to complete the action initiated by the command. You can use the "wait" (MCI_WAIT) flag to direct the device to wait until the requested action is completed before returning control to the application.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder