Zitat:
Also mit diesem Alias steh ich auf Kriegsfuß... ich hab das nie irgendwo gehabt und weiß damit dementsprechend leider auch nichts anzufangen...
bei jeder Function.. Procedure wird bei command eine ID = Alias verwendet um die aktuelle Instanz zu identifizieren.
Wie man diesen benennt ist eigentlich egal er muss nur für jede instanz gleich sein.
Delphi-Quellcode:
// We want to play a File.
command := PWideChar('open "' + fileName + '" type ' + dtype + ' alias mciplayer wait');
lResult := mciSendString(command, return, resultSize, 0);
In unserem Fall ist der alias mciplayer
'alias mciplayer wait'
In allen Functionen muss also bei einer neuen Instanz ein anderer Alias angegeben werden.
constructor TMCIPlayer.Create(fileName: string; dtype: string; alias: string; autoplay: Bool);
Und ersetze alle !mciplayer! mit dieser Variable also
Delphi-Quellcode:
// We want to play a File.
command := PWideChar('open "' + fileName + '" type ' + dtype + ' alias ' + alias + ' wait');
lResult := mciSendString(command, return, resultSize, 0);
bsp.. für Play
Delphi-Quellcode:
procedure TMCIPlayer.play(alias: string);
begin
command := ('play ' + alias + ' notify');
mciSendString(command, return, resultSize, 0);
end;
Delphi-Quellcode:
myMCIPlayer1 := TMCIPlayer.Create(ExtractFilePath(Paramstr(0)) + 'Sounds\Sound1.wav', 'waveaudio', 'mciplayer1', true);
myMCIPlayer2 := TMCIPlayer.Create(ExtractFilePath(Paramstr(0)) + 'Sounds\Sound2.wav', 'waveaudio', 'mciplayer2', true);
gruss