uses
mmsystem;
var
wDeviceID: DWORD ;
mciOpenParms: MCI_OPEN_PARMS ;
mciPlayParms: MCI_PLAY_PARMS ;
fbuf: file;
fs: integer;
p: pointer;
oka: PAnsiChar;
begin
oka:='D:\CD1\Songs\midi\loveofmy.mid';
AssignFile(fbuf, oka);
Reset(fbuf, 1);
fs := FileSize(fbuf);
GetMem(p, fs);
BlockRead(fbuf, p^, fs);
mciOpenParms.lpstrDeviceType := 'sequencer';
mciOpenParms.lpstrElementName :=oka;
mciSendCommandA(0, MCI_OPEN, MCI_OPEN_TYPE or MCI_OPEN_ELEMENT, Longint(@mciOpenParms)) ;
wDeviceID := mciOpenParms.wDeviceID;
mciPlayParms.dwFrom := 0;
mciSendCommandA(wDeviceID, MCI_PLAY, MCI_FROM or MCI_WAIT, Longint(@mciOpenParms));
mciSendCommandA(wDeviceID, MCI_CLOSE, 0, 0);
CloseFile(fbuf);
FreeMem(p);
Как с помощью mciSendCommand можно сделать воспроизведение звука из потока или об...
Из файла воспроизведение звука без проблем.
Код ниже. На Pascal-е. В документации Windows SDK не разобрался. Может есть Windows SDK, Windows 3.1 Multimedia Reference или MCI Command Strings Contents на русском языке?
Код: