1. Prefácio
Com a melhoria contínua do ambiente de hardware e software multimídia, atualmente, a maior parte do desenvolvimento de software de computador envolve a aplicação de tecnologia de software multimídia.
Para projetar aplicações multimídia, em princípio, você pode usar vários níveis de ferramentas, desde C até sistemas de desenvolvimento específicos de multimídia (como TOOLBOOK, AUTHORWARE, DIRECTOR). Porém, como um software multimídia envolve mídias complexas e diversas, tem um ciclo de desenvolvimento curto e requer a participação de diversos profissionais, para realizar um desenvolvimento prático e eficiente, é necessário selecionar um software que seja fácil de usar e que tenha alta eficiência de desenvolvimento.
VisualBasic é um software ferramenta de programação do Windows desenvolvido pela Microsoft. Devido às suas ideias de design avançadas, utilização rápida e fácil e meios flexíveis e diversificados de controlar objetos de mídia, atraiu a atenção e o favor de desenvolvedores de software multimídia e, portanto, tornou-se uma ferramenta ideal para o desenvolvimento de aplicações multimídia.
2. Controle multimídia do VisualBasic MCI.OCX
MCI (Media Control Interface) é um padrão de interface de controle de mídia fornecido pela Microsoft para obter independência de dispositivo em sistemas Windows. Os usuários podem facilmente usar o MCI para controlar dispositivos multimídia padrão.
MCI está incluído no módulo MMSYSTEM da Extensão Multimídia do Windows, que é usado para coordenar a comunicação entre eventos e drivers de dispositivo MCI e fornece atributos de interface independentes de dispositivo. Normalmente, os aplicativos distinguem os dispositivos MCI especificando um tipo de dispositivo MCI. O tipo de dispositivo especifica o tipo físico do dispositivo que está sendo usado atualmente. Diferentes tipos de dispositivos são descritos usando diferentes atributos de controle (consulte a Tabela 1 do Apêndice).
Em termos dos métodos de controle utilizados, os equipamentos MCI são divididos em duas categorias: compostos e simples. Um dispositivo MCI simples não requer um elemento de dispositivo. Por exemplo, CDs de áudio e reprodutores de áudio funcionam em um disco rígido já instalado e não exigem que os aplicativos forneçam qualquer informação sobre o conteúdo de mídia em que operam. Mas para dispositivos MCI compostos, o aplicativo precisa fornecer um elemento de dispositivo, ou seja, um arquivo de dados de origem ou arquivo de destino contendo todos os nomes de caminho.
O conceito CustomControl (componente de controle de usuário) da linguagem VisualBasic reflete a tendência de desenvolvimento do design de software atual - a tecnologia orientada a objetos pode incorporar uma variedade de controles de usuário na caixa de ferramentas VisualBasic (Toolbox), e cada componente de controle de usuário possui determinados atributos. e métodos de operação. Os programadores podem completar funções específicas definindo atributos e controlando métodos. Para controlar a multimídia de maneira conveniente, um controle de usuário para fins multimídia - MCI.OCX é fornecido na versão profissional da caixa de ferramentas VisualBasic.
Controle MCI multimídia MCI.OCX é especialmente usado para gravar e reproduzir arquivos de dados multimídia de dispositivos MCI de interface de controle multimídia. Em termos de finalidade e efeito, este controle usa um conjunto de botões para emitir vários comandos de controle de dispositivo para obter controle, como: painel de áudio, controle MIDI de sequenciadores, unidades de CD-ROM, CD players de áudio, reprodução de fitas de vídeo, gravação e reprodução de fitas de áudio e outros equipamentos. Na programação em Visual Basic, ao adicionar o controle MCI multimídia à tabela (clique duas vezes no controle MCI na caixa de ferramentas), aparecerão os seguintes grupos de botões: avançar (PRev), retroceder (Próximo), reproduzir (Play), pausar ( Pausar, Voltar, Passo, Parar, Gravar e Ejetar.
O aplicativo é muito flexível e conveniente para operar este conjunto de botões do MCI. Por exemplo, quando abrimos um dispositivo MCI, podemos selecionar o botão de status apropriado no controle a qualquer momento de acordo com as propriedades do tipo de dispositivo para representar o. estado físico imediato do dispositivo. Todos os controles MCI podem ser programados das seguintes formas: ⑴ visibilidade e habilitação do controle e seus botões; ⑵ redefinição variável ou completa do controle; ⑶ múltiplos dispositivos podem ser controlados simultaneamente em forma de janela;
3. Chamada do componente de controle multimídia MCI.OCX
No Visual Basic 3.0 Professional Edition, o controle de multimídia MCI.OCX (no Visual Basic 3.0 e 4.0, a extensão do controle de multimídia é .VBX) é fornecido como um componente opcional. Para utilizá-lo, você deve primeiro executar o comando de menu FileAddFile e adicionar MCI.OCX no diretório do sistema Windows à caixa de ferramentas (Toolbox). Neste momento, o ícone MCI.OCX correspondente aparecerá na caixa de ferramentas. Se você estiver usando o Visual Basic versão 4.0 (ou versão 5.0), selecione o menu oolsCustomControls ou digite Ctrl T diretamente, uma caixa de diálogo aparecerá, marque a caixa de seleção ao lado da entrada MicrosoftMultimediaControls na caixa de listagem AvailableControls e MCI também aparecerá no ícone .OCX da caixa de ferramentas.
Clique duas vezes no ícone MCI.OCX do controle de multimídia na caixa de ferramentas. Depois de chamar o controle MCI.OCX, uma linha de botões cinza de controle de mídia (nove) aparecerá no formato FORM.
4. Etapas de design de aplicativo multimídia VisualBasic
Controle multimídia MCI.OCX contém um conjunto de comandos de controle avançados independentes de dispositivo. Ao usar este controle multimídia, primeiro use o comando OPEN para abrir o dispositivo MCI (dispositivo multimídia) e criar um arquivo correspondente para realizar operações como gravação ou reprodução (mas os arquivos correspondentes não podem ser usados para CDAudio, VCR e fitas de vídeo). Depois que o dispositivo for aberto com sucesso, vários comandos de operação (consulte comandos de botão na tabela anexa) poderão ser emitidos para ele concluir as tarefas de trabalho especificadas. Finalmente, lembre-se de usar o comando Fechar para fechar dispositivos e arquivos de dados.
É muito conveniente usar MCI.OCX para desenvolver aplicações multimídia porque a maioria das propriedades são fáceis de entender, entre as quais a propriedade Command é particularmente importante. Ela envia comandos para o dispositivo multimídia durante a operação. O formato é:
Formulário.Mmcontrol.Command=cmdstring$
Entre eles, a variável cmdstring$ tem o seguinte nome de comando executável: Open, Close, Play, Pause, Stop, Back, Step, Prev, Next, Seek, Record, Eject, Sound e Save. Uma vez definido o comando, ele é executado imediatamente e quaisquer erros que ocorram são armazenados no atributo Error.
A seguir, a reprodução do arquivo DEMO.WAV (arquivo de forma de onda) como exemplo para ilustrar as etapas de design do aplicativo multimídia VisualBasic.
Primeiro, crie um formulário (Form) contendo controles de multimídia (MCI.OCX), para que as teclas de controle em forma de gravador sejam exibidas na tela, mas neste momento os componentes de controle de multimídia não podem ser usados imediatamente (as teclas são cinza), o estado da chave deve ser alterado através do código do programa.
Em segundo lugar, no processo Form_Load, insira o código do programa correspondente. do seguinte modo
SubForm_Load()
'Defina as propriedades do dispositivo multimídia antes de emitir o comando OPEN
Form1.MMControl1.Notify=Falso
Form1.MMControl1.Wait = Verdadeiro
Form1.MMControl1.Shareable=Falso
Form1.MMControl1.DeviceType="WaveAudio"
Form1.MMControl1.FileName = "c:windowss
Mmdatademo.wav"
Form1.MMControl1.Command="Abrir"
Fim Sub
Por fim, execute o programa acima e as teclas de controle ficarão pretas. Neste momento, você pode usar as teclas Play, Record e outras teclas para operar o arquivo de dados DEMO.WAV. Por exemplo, clique no botão Play com o mouse para ouvir o efeito sonoro .WAV (o computador deve estar equipado com um dispositivo de som).
Pela afirmação acima, não é difícil descobrir que o VisualBasic usa o controle multimídia MCI.OCX para configurar um programa fácil de dominar.
5. Exemplos de design de aplicativos multimídia VisualBasic
1. Reproduza música em CD
Muitos sistemas de software multimídia fornecem software de reprodutor de disco laser. Usando o controle multimídia MCI.OCX, podemos programar facilmente um reprodutor de disco laser simples que atenda aos nossos próprios requisitos.
A Tabela 1 fornece a definição dos principais componentes de controle de um CD player simples, seguida do código-fonte do programa correspondente a cada evento disparador.
A listagem completa do programa fonte é a seguinte:
`Utilitário reprodutor de CD
`Por favor, carregue um disco laser na unidade de CD-ROM antes de executar o programa' O botão "LOAD" aciona o evento
PrivateSubCommand1_Click()
`Carregue o registro do CD
OnErrorGoToMCI_ERROR
MMControl1.Command="Abrir"
OnErrorGoTo0
`Definir formato de hora
MMControl1.TimeFormat=vbMCIFormatTmsf
`Feche o botão LOAD e exiba a imagem
Command1.Enabled=Falso
Figura1.Imagem=Imagem3.Imagem
`Defina o número inicial de faixas
Label1.Caption="1"
SairSub
MCI_ERRO:
DisplayErrorMessageBox
CurrículoMCI_EXIT
MCI_EXIT:
Descarregar CD
Fim Sub
PrivateSubForm_Load()
MMControl1.Wait = Verdadeiro
MMControl1.UpdateInterval=0
`Definir tipo de dispositivo
MMControl1.DeviceType="CDÁudio"
`Defina o número da faixa padrão como 0
Label1.Caption="0"
ndSub
PrivateSubForm_Unload(CancelAsInteger)
MCITest.Show
Fim Sub
'Botão "Saída" aciona evento
PrivateSubMMControl1_EjectClick(CancelAsInteger)
Command1.Enabled = Verdadeiro
Imagem1.Imagem=Imagem2.Imagem
MMControl1.UpdateInterval=0
OnErrorGoToMCI_ERROR2
MMControl1.Command="Ejetar"
MMControl1.Command="Fechar"
OnErrorGoTo0
Label1.Caption="0"
Label3.BackColor=&H404040
SairSub
MCI_ERROR2:
DisplayErrorMessageBox
CurrículoPróximo
Fim Sub
'Evento de disparo do botão "Avançar"
PrivateSubMMControl1_NextCompleted(ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
Fim Sub
'O botão "Pause" aciona o evento
PrivateSubMMControl1_PauseClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
Fim Sub
'O botão "play" aciona o evento
PrivateSubMMControl1_PlayClick(CancelAsInteger)
MMControl1.UpdateInterval=1000
Label1.Caption=Str$(MMControl1.Track)
Fim Sub
'O botão "Voltar" aciona o evento
PrivateSubMMControl1_PrevCompleted(ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
Fim Sub
PrivateSubMMControl1_StatusUpdate()
Label1.Caption=Str$(MMControl1.PositionAnd&HFF)
IfMMControl1.Mode=vbMCIModePlayThen
Label3.BackColor=&H80FF&
Outro
Label3.BackColor=&H404040
FimSe
Fim Sub
'O botão "Parar" aciona o evento
PrivateSubMMControl1_StopClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
MMControl1.To=MMControl1.Iniciar
MMControl1.Command="Procurar"
MMControl1.Track=1
Label1.Caption="1"
Fim Sub
2. Reproduza arquivos AVI (Interface de Áudio e Vídeo)
Os filmes (incluindo som e imagens) são uma das informações de mídia que mais preocupam a maioria dos trabalhadores de informática, e a tecnologia de processamento de filmes também é uma das principais tecnologias multimídia. Em sistemas multimídia, os arquivos AVI (Audio Video Interface) são um formato padrão para armazenar filmes (incluindo sons e imagens). Esses arquivos AVI são geralmente obtidos capturando sinais de vídeo em tempo real, ou as imagens podem ser obtidas através de um scanner ou obtidas usando). software de animação. Portanto, as operações de áudio e vídeo na janela da tela passam a ser o processamento de arquivos AVI (o sufixo do arquivo é AVI). No trabalho real, existem muitas maneiras de reproduzir arquivos AVI (ou seja, vídeos), entre as quais o método de usar o controle multimídia do Visual Basic é o mais simples e conveniente. A seguir, é usado um exemplo específico para ilustrar como reproduzir um arquivo AVI: Suponha que haja um arquivo de vídeo e áudio chamado DEMO.AVI no diretório atual do usuário e que o uso do VisulBasic para reproduzir o vídeo requer as seguintes etapas:
(1) Adicione um controle multimídia MMControl, um controle de caixa de imagem PictureBox e dois componentes de botão de comando ComandButton ao formulário Visual Basic;
(2) Defina as propriedades de cada controle, onde o formulário é denominado Form1, o controle de multimídia MMControl é denominado MMControl1, o controle de caixa de imagem PictureBox é denominado Imagem1 e os dois controles de botão de comando ComandButton são denominados Play e Close respectivamente;
(3) Escreva o código-fonte do programa fonte de cada evento acionador e execute-o. O código fonte é:
PrivateSubPlay_Click()
MMControl1.Filename="DEMO.AVI"
MMControl1.DeviceType=="AVIVÍDEO"
MMControl1.hWndDisplay=Imagem1.hWnd
MMControl1.Command="ABRIR"
MMControl1.To=1
MMControl1.Command = "PROCURAR"
MMControl1.Command = "PLAY"
Fim Sub
PrivateSubClose_Click()
MMControl1.Command="PARAR"
MMControl1.Command = "FECHAR"
Fim Sub
É importante notar que antes de reproduzir arquivos AVI, o driver AVI (áudio e vídeo) deve primeiro ser instalado no Windows. O nome do driver AVI é MCIAVI.DRV. Ele deve ser copiado para o diretório WINDOWS SYSTEM e adicionado à seção [MCI] do arquivo SYSTEM.INI:
AVIVIDEO=MCIAVI.DRV
Desta forma, ao executar o Windows, o Windows instalará automaticamente o driver AVI.
O texto acima descreve apenas o processo de operação de uso do componente de controle multimídia para reproduzir arquivos de áudio (.WAV), gravações de CD e arquivos de áudio e vídeo (.AVI). Na verdade, o componente de controle multimídia também pode ser usado para reproduzir arquivos de animação (.FLI, .FLC), arquivos MIDI e outras informações de mídia.
6. Conclusão
A partir da discussão anterior, não é difícil ver que usando o componente de controle multimídia MCI.OCX fornecido pelo Visual Basic, a maioria dos usuários de computador pode desenvolver vários aplicativos multimídia de forma conveniente, rápida e eficiente. Mas é preciso ressaltar que ao desenvolver e projetar aplicações multimídia em Visual Basic, além de utilizar componentes de controle multimídia, outros meios também podem ser utilizados, como chamar funções API, etc. aqui). Pode-se ver que o Visual Basic é de fato uma ferramenta de desenvolvimento ideal para desenvolvedores de software multimídia profissionais e não profissionais.
Apêndice 1 Definição do tipo de dispositivo MCI
Tipo de dispositivoDescrição do dispositivo
Equipamento de leitor de disco laser CDAudio
Leitor de áudio de fita digital DAT
Equipamento de imagem de vídeo digital dinâmico DigitalVideo
Equipamento de reprodução de animação de animação
Outros dispositivos MCI para os quais não é fornecida nenhuma definição padrão
Overlay simula dispositivo de sobreposição de imagem de vídeo
Sequenciador MIDI de sequência
Gravador de disco controlado por programa VCR
VideoDisc pode usar reprodutores de disco de vídeo a laser controlados por programa
WaveAudio é um dispositivo que reproduz áudio digital em forma de onda???
Apêndice 2 Lista de eventos exclusivos para componentes de controle multimídia
Descrição do evento
Concluído completa a ação do comando MCI (Notify é verdadeiro)
BotãoClique, clique no botão
Conclusão do comando de execução do botão ButtonCompleted
O botão ButtonGetFocus obtém o foco de entrada
ButtonLostFocusButton perdeu o foco de entrada
StatusUpdate atualiza as informações de status do objeto de controle de mídia->