Página 1 de 1

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

Enviado: 19 Fev 2016 11:45
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

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

Enviado: 19 Fev 2016 14:02
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

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

Enviado: 19 Fev 2016 15:15
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

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

Enviado: 19 Fev 2016 15:48
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)

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

Enviado: 19 Fev 2016 16:00
por Toledo
Alexandre, no caso do vídeo (AVI), ele é apresentado aonde? Abre algum player do Windows?

Abraços,

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

Enviado: 19 Fev 2016 17:30
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.

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

Enviado: 19 Fev 2016 22:54
por rochinha
Amiguinhos,

Interessante...

Vou ficar de olho no tópico.

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

Enviado: 20 Fev 2016 13:14
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.