![]() |
![]() |
|
|
|||||||
| Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
| Programmierung Rat & Tat für Programmierer |
|
|
Themen-Optionen | Ansicht |
|
|
#4 |
|
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
C bzw. C++ Programm, Beispiel wie man ein MCI Gerät bzw. in diesem Fall eine Wave Datei öffnet, abspielt, schliesst, es wurde hier keine Fehlerabfrage programmiert, außerdem muß dem Linker die Importlibrary als Datei winmm.lib angegeben werden, sonst findet das Betriebssystem die Funktion mciSendCommand nicht.
c++ datei ... z.b. main.cpp bzw. fensterfunktionsdatei.cpp ... window_proc ... open_device.cpp --- Anfang der Einfügungen in open_device.cpp ... gleich nach #include <windows.h> folgende Zeilen einfügen: --- Anfang der einzufügenden Zeilen Code:
#include <mmsystem.h> MCI_OPEN_PARMS mciOpenParameters; // respektive in einer weiteren Includedatei ... Open Device Aufruf z.B. bei case WM_CREATE: der Fensterfunktion WndProc einfügen: also: case WM_CREATE: --- Anfang der einzufügenden Zeilen Code:
mciOpenParameters.lpstrDeviceType= (LPCSTR)MCI_DEVTYPE_WAVEFORM_AUDIO; mciOpenParameters.lpstrElementName= "C:\\WINDOWS\\CHORD.WAV"; ulrc = // ulrc ... ULONG ReturnCode mciSendCommand(0, MCI_OPEN, MCI_WAIT | MCI_OPEN_ELEMENT | MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID, (ULONG)&mciOpenParameters); und: case WM_DESTROY: --- Anfang der einzufügenden Zeilen Code:
ulrc = // ulrc ... ULONG ReturnCode mciSendCommand(mciOpenParameters.wDeviceID, MCI_CLOSE, MCI_WAIT, (ULONG)&mciOpenParameters); --- Ende der Einfügungen in open_device.cpp ************************************************** ****************** --- Anfang der Einfügungen in play_device.cpp --- Anfang der einzufügenden Zeilen Code:
#include <mmsystem.h> extern MCI_OPEN_PARMS mciOpenParameters; // wurde in open_device.cpp bereits definiert, deswegen hier der Zusatz extern MCI_PLAY_PARMS mciPlayParameters; // hier global, sonst z.B. in einer Funktion definieren --- Anfang der einzufügenden Zeilen Code:
case WM_USER_PLAY_WAVE: // WM_USER_PLAY_WAVE muß der Programmierer letztlich festlegen über #define WM_USER_PLAY_WAVE (WM_USER + 1) z.B. mciSendCommand(mciOpenParameters.wDeviceID, MCI_PLAY, MCI_WAIT, (ULONG)&mciPlayParameters); --- Ende der Einfügungen in play_device.cpp mfg Kikakater |
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|