1. 서문
멀티미디어 하드웨어 환경과 소프트웨어 환경이 지속적으로 개선됨에 따라 현재 대부분의 컴퓨터 소프트웨어 개발에는 멀티미디어 소프트웨어 기술의 적용이 포함됩니다.
멀티미디어 애플리케이션을 디자인하려면 원칙적으로 C부터 멀티미디어 관련 개발 시스템(예: TOOLBOOK, AUTHORWARE, DIRECTOR)까지 다양한 수준의 도구를 사용할 수 있습니다. 그러나 멀티미디어 소프트웨어는 복잡하고 다양한 매체를 포함하고, 개발주기가 짧으며, 다양한 전문가의 참여가 필요하므로 실용적이고 효율적인 개발을 위해서는 사용하기 쉽고, 다양한 기능을 갖춘 소프트웨어를 선택하는 것이 필요하다. 개발 효율성이 높다.
VisualBasic은 Microsoft에서 개발한 Windows 프로그래밍 도구 소프트웨어입니다. 고급 디자인 아이디어, 빠르고 쉬운 사용법, 유연하고 다양한 미디어 개체 제어 수단으로 인해 멀티미디어 소프트웨어 개발자의 관심과 호감을 얻었으며 따라서 멀티미디어 응용 프로그램 개발을 위한 이상적인 도구가 되었습니다.
2. VisualBasic의 멀티미디어 제어 MCI.OCX
MCI(미디어 제어 인터페이스)는 Windows 시스템에서 장치 독립성을 달성하기 위해 Microsoft에서 제공하는 미디어 제어 인터페이스 표준입니다. 사용자는 MCI를 사용하여 쉽게 표준 멀티미디어 장치를 제어할 수 있습니다.
MCI는 Windows 멀티미디어 확장의 MMSYSTEM 모듈에 포함되어 있습니다. 이 모듈은 이벤트와 MCI 장치 드라이버 간의 통신을 조정하는 데 사용되며 장치 독립적인 인터페이스 특성을 제공합니다. 일반적으로 응용프로그램은 MCI 장치 유형을 지정하여 MCI 장치를 구별합니다. 장치 유형은 현재 사용되는 장치의 물리적 유형을 지정합니다(부록 표 1 참조).
사용된 제어 방법의 측면에서 MCI 장비는 복합형과 단순형의 두 가지 범주로 구분됩니다. 단순 MCI 장치에는 장치 요소가 필요하지 않습니다. 예를 들어, CD 오디오 및 오디오 플레이어는 이미 설치된 하드 드라이브에서 작동하며 응용 프로그램이 작동하는 미디어 콘텐츠에 대한 정보를 제공할 필요가 없습니다. 그러나 복합 MCI 장치의 경우 애플리케이션은 장치 요소, 즉 모든 경로 이름을 포함하는 소스 데이터 파일 또는 대상 파일을 제공해야 합니다.
VisualBasic 언어의 CustomControl(사용자 컨트롤 구성 요소) 개념은 오늘날의 소프트웨어 설계 - 개체 지향 기술의 개발 추세를 반영합니다. 프로그래머는 VisualBasic 도구 상자(Toolbox)에 다양한 사용자 컨트롤을 내장할 수 있으며, 각 사용자 컨트롤 구성 요소에는 특정 속성이 있습니다. 프로그래머는 속성을 설정하고 방법을 제어하여 특정 기능을 완료할 수 있습니다. 멀티미디어를 편리하게 제어할 수 있도록 전문 버전의 VisualBasic 툴박스에는 멀티미디어 용도에 맞는 사용자 컨트롤인 MCI.OCX가 제공됩니다.
멀티미디어 MCI 컨트롤 MCI.OCX는 멀티미디어 제어 인터페이스 MCI 장치의 멀티미디어 데이터 파일을 기록하고 재생하는 데 특별히 사용됩니다. 목적과 효과 측면에서 이 컨트롤은 버튼 세트를 사용하여 다음과 같은 제어를 달성하기 위해 다양한 장치 제어 명령을 발행합니다. 오디오 패널, 시퀀서의 MIDI 제어, CD-ROM 드라이브, 오디오 CD 플레이어, 비디오 테이프 재생, 오디오 테이프 녹음 및 재생 및 기타 장비. Visual Basic 프로그래밍에서 멀티미디어 MCI 컨트롤을 테이블에 추가하면(도구 상자에서 MCI 컨트롤을 두 번 클릭) 다음 버튼 그룹이 나타납니다: 앞으로(PRev), 뒤로(다음), 재생(재생), 일시 중지( 일시 정지, 뒤로, 단계, 중지, 녹음 및 꺼내기.
응용 프로그램은 MCI의 이 버튼 세트를 작동하는 데 매우 유연하고 편리합니다. 예를 들어 MCI 장치를 열 때 장치 유형의 속성에 따라 언제든지 컨트롤에서 적절한 상태 버튼을 선택하여 표시할 수 있습니다. 장치의 즉각적인 물리적 상태. 모든 MCI 컨트롤은 다음과 같은 방법으로 프로그래밍할 수 있습니다. ⑵ 컨트롤과 해당 버튼의 가시성 및 활성화 ⑵ 컨트롤의 전체 재정의 ⑶ 여러 장치를 창 형태로 동시에 제어할 수 있습니다.
3. 멀티미디어 제어 컴포넌트 MCI.OCX 호출
Visual Basic 3.0 Professional Edition에서는 멀티미디어 컨트롤 MCI.OCX(Visual Basic 3.0 및 4.0에서 멀티미디어 컨트롤의 확장자는 .VBX임)가 선택적 구성 요소로 제공됩니다. 이를 사용하려면 먼저 FileAddFile 메뉴 명령을 실행하고 Windows 시스템 디렉터리에 있는 MCI.OCX를 도구 상자(도구 상자)에 추가해야 합니다. 이때 해당 MCI.OCX 아이콘이 도구 상자에 나타납니다. Visual Basic 버전 4.0(또는 버전 5.0)을 사용하는 경우 oolsCustomControls 메뉴를 선택하거나 Ctrl T를 직접 입력하면 대화 상자가 나타나고 AvailableControls 목록 상자에서 MicrosoftMultimediaControls 항목 옆에 있는 확인란을 선택하면 MCI도 나타납니다. 도구 상자의 .OCX 아이콘에 있습니다.
도구 상자에서 멀티미디어 컨트롤 MCI.OCX 아이콘을 두 번 클릭하면 MCI.OCX 컨트롤을 호출한 후 회색 미디어 컨트롤 단추 행(9개)이 FORM 형식으로 나타납니다.
4. VisualBasic 멀티미디어 애플리케이션 설계 단계
멀티미디어 제어 MCI.OCX에는 장치 독립적인 고급 제어 명령 세트가 포함되어 있습니다. 이 멀티미디어 컨트롤을 사용하는 경우 먼저 OPEN 명령을 사용하여 MCI 장치(멀티미디어 장치)를 열고 해당 파일을 생성하여 녹음이나 재생 등의 작업을 수행합니다(단, CDAudio, VCR 및 비디오 테이프에는 해당 파일을 사용할 수 없습니다). 장치가 성공적으로 열리면 다양한 작업 명령(첨부된 표의 버튼 명령 참조)을 실행하여 지정된 작업을 완료할 수 있습니다. 마지막으로 장치와 데이터 파일을 닫으려면 닫기 명령을 사용하는 것을 잊지 마세요.
대부분의 속성은 이해하기 쉽기 때문에 MCI.OCX를 사용하여 멀티미디어 응용 프로그램을 개발하는 것은 매우 편리합니다. 그 중 Command 속성은 작업 중에 멀티미디어 장치에 명령을 보내는 데 특히 중요합니다. 형식은 다음과 같습니다.
Form.Mmcontrol.Command=cmdstring$
그 중 cmdstring$ 변수는 Open, Close, Play, Pause, Stop, Back, Step, Prev, Next, Seek, Record, Eject, Sound, Save의 실행 가능한 명령어 이름이다. 명령이 설정되면 즉시 실행되며 발생하는 모든 오류는 Error 속성에 저장됩니다.
다음은 VisualBasic 멀티미디어 응용 프로그램의 설계 단계를 설명하기 위해 DEMO.WAV(파형 파일) 파일을 예로 들어 설명합니다.
먼저 멀티미디어 컨트롤(MCI.OCX)이 포함된 폼(Form)을 생성하여 녹음기 모양의 컨트롤 키가 화면에 표시되지만 이때 멀티미디어 컨트롤 구성요소를 바로 사용할 수는 없습니다(키가 회색임), 키의 상태는 프로그램 코드를 통해 변경되어야 합니다.
둘째, Form_Load 프로세스에 해당 프로그램 코드를 삽입합니다. 다음과 같이
하위양식_로드()
'OPEN 명령을 실행하기 전에 멀티미디어 장치의 속성을 설정하십시오
Form1.MMControl1.Notify=거짓
Form1.MMControl1.Wait=True
Form1.MMControl1.Shareable=거짓
Form1.MMControl1.DeviceType="WaveAudio"
Form1.MMControl1.FileName="c:창
Mmdatademo.wav"
Form1.MMControl1.Command="열기"
EndSub
마지막으로 위의 프로그램을 실행하면 컨트롤 키가 검은색이 됩니다. 이때 재생, 녹음 및 기타 키를 사용하여 DEMO.WAV 데이터 파일을 조작할 수 있습니다. 예를 들어, .WAV 사운드 효과를 들으려면 마우스로 재생 버튼을 클릭합니다(컴퓨터에 사운드 장치가 장착되어 있어야 함).
위의 설명을 통해 VisualBasic이 멀티미디어 컨트롤 MCI.OCX를 사용하여 마스터하기 쉬운 프로그램을 설정한다는 것을 어렵지 않게 찾을 수 있습니다.
5. VisualBasic 멀티미디어 응용 프로그램 디자인 예
1. CD 음악 재생
많은 멀티미디어 소프트웨어 시스템은 레이저 디스크 플레이어 소프트웨어를 제공합니다. 멀티미디어 제어 MCI.OCX를 사용하면 우리의 요구 사항을 충족하는 간단한 레이저 디스크 플레이어를 쉽게 프로그래밍할 수 있습니다.
표 1은 간단한 CD 플레이어의 주요 제어 구성 요소에 대한 정의와 각 트리거 이벤트에 해당하는 소스 프로그램 코드를 제공합니다.
전체 소스 프로그램 목록은 다음과 같습니다.
`CD 플레이어 유틸리티
`프로그램을 실행하기 전에 레이저 디스크를 CD-ROM 드라이브에 로드하십시오.' "LOAD" 버튼이 이벤트를 트리거합니다.
PrivateSubCommand1_Click()
`CD 레코드를 로드하세요.
OnErrorGoToMCI_ERROR
MMControl1.Command="열기"
OnErrorGoTo0
`시간 형식 설정
MMControl1.TimeFormat=vbMCIFormatTmsf
`LOAD 버튼을 닫고 사진을 표시합니다.
Command1.Enabled=False
Picture1.Picture=Picture3.Picture
`초기 트랙 수 설정
Label1.Caption="1"
ExitSub
MCI_ERROR:
디스플레이오류메시지상자
이력서MCI_EXIT
MCI_EXIT:
CD 언로드
EndSub
PrivateSubForm_Load()
MMControl1.Wait=참
MMControl1.UpdateInterval=0
`장치 유형 설정
MMControl1.DeviceType="CDAudio"
`기본 트랙 번호를 0으로 설정
Label1.Caption="0"
ndSub
PrivateSubForm_Unload(CancelAsInteger)
MCITest.Show
EndSub
''출력' 버튼이 이벤트를 트리거합니다.
PrivateSubMMControl1_EjectClick(CancelAsInteger)
Command1.Enabled=True
Picture1.Picture=Picture2.Picture
MMControl1.UpdateInterval=0
OnErrorGoToMCI_ERROR2
MMControl1.Command="꺼내기"
MMControl1.Command="닫기"
OnErrorGoTo0
Label1.Caption="0"
Label3.BackColor=&H404040
ExitSub
MCI_ERROR2:
디스플레이오류메시지상자
이력서다음
EndSub
'"앞으로" 버튼 트리거 이벤트
PrivateSubMMControl1_NextCompleted(ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
EndSub
'일시 중지' 버튼을 누르면 이벤트가 발생합니다.
PrivateSubMMControl1_PauseClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
EndSub
''재생' 버튼을 누르면 이벤트가 실행됩니다.
PrivateSubMMControl1_PlayClick(CancelAsInteger)
MMControl1.UpdateInterval=1000
Label1.Caption=Str$(MMControl1.Track)
EndSub
'뒤로' 버튼을 누르면 이벤트가 트리거됩니다.
PrivateSubMMControl1_PrevCompleted(ErrorCodeAsLong)
Label1.Caption=Str$(MMControl1.Track)
EndSub
PrivateSubMMControl1_StatusUpdate()
Label1.Caption=Str$(MMControl1.PositionAnd&HFF)
IfMMControl1.Mode=vbMCIModePlayThen
Label3.BackColor=&H80FF&
또 다른
Label3.BackColor=&H404040
종료
EndSub
''중지' 버튼을 누르면 이벤트가 발생합니다.
PrivateSubMMControl1_StopClick(CancelAsInteger)
MMControl1.UpdateInterval=0
Label3.BackColor=&H404040
MMControl1.To=MMControl1.Start
MMControl1.Command="탐색"
MMControl1.트랙=1
Label1.Caption="1"
EndSub
2. AVI(Audio Video Interface) 파일 재생
영화(음향, 영상 포함)는 대부분의 컴퓨터 종사자들이 가장 우려하는 미디어 정보 중 하나이며, 영화 처리 기술 역시 핵심 멀티미디어 기술 중 하나이다. 멀티미디어 시스템에서 AVI(Audio Video Interface) 파일은 영화(사운드 및 이미지 포함)를 저장하기 위한 표준 형식입니다. 이러한 AVI 파일은 일반적으로 실시간 비디오 신호를 캡처하여 얻거나 이미지를 스캐너를 통해 얻거나 다음을 사용하여 얻을 수 있습니다. 애니메이션 소프트웨어. 따라서 화면 창의 오디오 및 비디오 작업은 AVI 파일(파일 접미사는 AVI임) 처리가 됩니다. 실제 업무에서 AVI 파일(동영상 등)을 재생하는 방법은 여러 가지가 있는데, 그 중 Visual Basic의 멀티미디어 컨트롤을 사용하는 방법이 가장 간단하고 편리합니다. 다음은 특정 예를 사용하여 AVI 파일을 재생하는 방법을 보여줍니다. 사용자의 현재 디렉터리에 DEMO.AVI라는 비디오 및 오디오 파일이 있고 VisulBasic을 사용하여 비디오를 재생하려면 다음 단계가 필요하다고 가정합니다.
(1) MMControl 멀티미디어 컨트롤, PictureBox 그림 상자 컨트롤 및 두 개의 ComandButton 명령 단추 구성 요소를 Visual Basic 폼에 추가합니다.
(2) 양식의 이름은 Form1, MMControl 멀티미디어 컨트롤의 이름은 MMControl1, PictureBox 그림 상자 컨트롤의 이름은 Picture1, 두 개의 ComandButton 명령 단추 컨트롤의 이름은 각각 Play 및 Close로 각 컨트롤의 속성을 설정합니다.
(3) 각 트리거 이벤트 소스 프로그램 코드를 작성하고 실행시킨다. 소스 코드는 다음과 같습니다
PrivateSubPlay_Click()
MMControl1.Filename="DEMO.AVI"
MMControl1.DeviceType=="AVIVIDEO"
MMControl1.hWndDisplay=Picture1.hWnd
MMControl1.Command="열기"
MMControl1.To=1
MMControl1.Command="탐색"
MMControl1.Command="PLAY"
EndSub
PrivateSubClose_Click()
MMControl1.Command="중지"
MMControl1.Command="닫기"
EndSub
AVI 파일을 재생하기 전에 먼저 Windows에 AVI(오디오 비디오) 드라이버를 설치해야 한다는 점은 주목할 가치가 있습니다. AVI 드라이버 이름은 MCIAVI.DRV입니다. WINDOWS SYSTEM 디렉터리에 복사하고 SYSTEM.INI 파일의 [MCI] 섹션에 추가해야 합니다.
AVIVIDEO=MCIAVI.DRV
이런 방식으로 Windows를 실행할 때 Windows는 자동으로 AVI 드라이버를 설치합니다.
위의 내용은 오디오 파일(.WAV), CD 레코드, 오디오 및 비디오 파일(.AVI)을 재생하기 위해 멀티미디어 제어 구성 요소를 사용하는 작업 프로세스만 설명합니다. 실제로 멀티미디어 제어 구성 요소는 애니메이션 파일(.FLI, .FLC), MIDI 파일 및 기타 미디어 정보를 재생하는 데에도 사용할 수 있습니다.
6. 결론
앞선 논의에서 Visual Basic이 제공하는 멀티미디어 제어 컴포넌트 MCI.OCX를 사용하면 대다수의 컴퓨터 사용자가 다양한 멀티미디어 응용 프로그램을 편리하고 신속하며 효율적으로 개발할 수 있다는 것을 쉽게 알 수 있습니다. 그러나 Visual Basic 멀티미디어 응용 프로그램을 개발하고 디자인할 때 멀티미디어 제어 구성 요소를 사용하는 것 외에도 API 함수 호출 등과 같은 다른 수단도 사용할 수 있다는 점을 강조할 필요가 있습니다. (길이를 고려하여 이에 대해서는 논의하지 않습니다. 여기). Visual Basic은 실제로 전문 및 비전문 멀티미디어 소프트웨어 개발자 모두에게 이상적인 개발 도구라는 것을 알 수 있습니다.
부록 1 MCI 장치 유형 정의
장치 유형장치 설명
CDAudio 레이저 디스크 플레이어 장비
DAT 디지털 테이프 오디오 플레이어
DigitalVideo 다이내믹 디지털 비디오 이미징 장비
애니메이션 애니메이션 재생 장비
표준 정의가 제공되지 않은 기타 MCI 기기
오버레이는 비디오 이미지 오버레이 장치를 시뮬레이션합니다.
시퀀스 MIDI 시퀀서
VCR 프로그램 제어 디스크 레코더
VideoDisc는 프로그램 제어 레이저 비디오 디스크 플레이어를 사용할 수 있습니다.
WaveAudio는 디지털 파형 오디오를 재생하는 장치입니까???
부록 2 멀티미디어 제어 구성 요소의 고유 이벤트 목록
이벤트 설명
완료는 MCI 명령 작업을 완료합니다(알림은 true).
버튼클릭 클릭 버튼
ButtonCompleted 버튼 실행 명령 완료
ButtonGetFocus 버튼이 입력 포커스를 얻습니다.
ButtonLostFocusButton이 입력 포커스를 잃었습니다.
StatusUpdate는 미디어 제어 개체의 상태 정보를 업데이트합니다->