0

segunda-feira, 15 de setembro de 2008

Multimedia - musicas e videos em apiwin32 com apenas uma função -MCIWndCreate





Voce pode tocar arquivos wav, cds, video clips, ou arquivos MIDI para o seu programa chamando uma unica função:MCIWndCreate.Essa função cria uma janela com a tipo de classe MCIWND_WINDOW_CLASS, com um botão que o usuario usa para tocar ou para um determinado arquivo, a barra que mostra a posição atual do arquivo, e, no caso de um video clip, uma area na qual um video é mostrado.O seguinte exemplo chama a função MCIWndCreate que toca o video clip sample.avi:
MCIWndCreate(hwndParent, // ponteiro do janela principal(pai)g_hinst, // ponteiro de instance(voce pode usaretModuleHandle(0) )WS_VISIBLE WS_CHILD MCIWNDF_SHOWALL, // estilos da janela"sample.avi"); ///o dito arquivo que deve esta na mesma pasta do programa
Uma outra função que muito util é a PlaySound, voce pode usa-la para implementar seus programas de multimedia com uma simples chamada.Voce pode usar essa função para tocar arquivos waves.Por exemplo a seguinte linha de codigo toca um som guardado no seu disco com o nome tentoaprender.wav:
PlaySound("tentoaprender.wav",hInstance,SND_ASYNC SND_NODEFAULT SND_NOSTOP);
hInstance é o módulo do aplicativo ou pode ser o handle retornado pela função GetModuleHandle ou seja voce pode substituir hInstance por GetModuleHandle(0).
SND_ASYNC: assíncrono, a função não trava o segmento,começa a tocar e já retorna, o som pode parar tocando um som nulo (com NULL no lugar do arquivo);SND_SYNC: síncrono, a função ñ retorna até q o som termine de tocar;SND_LOOP: o som toca repetidamente até q se toque um som nulo(com NULL no lugar do arquivo);SND_NODEFAULT: se o som ñ for encontrado ñ toca o som padrão do sistema (akele som de erro);SND_NOSTOP: se o som já está sendo tocado não para de tocar.
Obs:O video não deve ter nenhuma compressão, Vlw e ate a proxima.