Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Как одновременно проиграть два файла?   Найти похожие ветки 

 
kblc ©   (2004-07-29 18:11) [0]

Уважаемые мастера, как одновременно можно проиграть 2 файла (может компоненты есть, но лучше через MCI)?

вот код для проигрывания одного файла, но как сделать это сразу для двух файлов? потоки создавать?

procedure mciPlayFile(FileName: string);
var
   Open_Params: TMCI_Open_Parms;
   Play_Params: TMCI_Play_Parms;
   FDeviceID: Word;
begin
  Open_Params.dwCallback:=0;
  Open_Params.wDeviceID:=0;
  Open_Params.lpstrDeviceType:=PAnsiChar(Copy(Filename,Pos(".",Filename)+1,3));
  Open_Params.LPSTRELEMENTNAME:=PChar(Filename);

  mciSendCommand(0, MCI_OPEN, MCI_OPEN_ELEMENT, Longint(@Open_Params));
  FDeviceID:=Open_Params.wDeviceID;
  mciSendCommand(FDeviceID, MCI_PLAY, MCI_WAIT, Longint(@Play_Params));
  mciSendCommand(FDeviceID, MCI_CLOSE,       0, Longint(@Open_Params));
end;


Заранее спасибо за советы.


 
pavia   (2004-07-29 23:27) [1]

убери MCI_WAIT.А как следствие строчка
mciSendCommand(FDeviceID, MCI_CLOSE,       0, Longint(@Open_Params)); должна сробатывать по зовершению фаила.Почитай про события mci.


 
kblc ©   (2004-07-30 10:54) [2]

ну а как сделать так, что бы я мог прослушать оба файла???


 
kblc ©   (2004-07-30 10:54) [3]

ну а как сделать так, что бы я мог прослушать оба файла одновременно???


 
Анонимщик ©   (2004-07-30 11:57) [4]

Тебе же порекомендовали, убери ожидание и загружай на прослушивание еще один файл. Не получается?


 
kblc ©   (2004-07-30 13:03) [5]

Убрал MCI_WAIT и команде mciSend..(..,MCI_CLOSE,..).. И теперь ваще ничего не работает... почему? может я что-то не так делаю?
может кто-нить сорс покажет?


 
kblc ©   (2004-07-30 18:16) [6]

Народ.. неужели мне никто не поможет?


 
Анонимщик ©   (2004-07-30 18:39) [7]

Сделай пока как-нибудь через потоки. Остальное в понедельник.


 
Вадим ©   (2004-07-30 20:16) [8]


> kblc ©   (30.07.04 18:16) [6]

 Вот здесь http://delphimaster.net/view/8-1082458665/ твою проблему уже решали! Там было так:
uses
MMSystem;

procedure SendMCICommand(Cmd: string);
var
RetVal: Integer;
ErrMsg: array[0..254] of char;
begin
RetVal := mciSendString(PChar(Cmd), nil, 0, 0);
if RetVal <> 0 then
begin
  {get message for returned value}
  mciGetErrorString(RetVal, ErrMsg, 255);
  MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMCICommand("open waveaudio shareable");
SendMCICommand("play "C:\xyz\BackgroundMusic.wav"");
SendMCICommand("play "C:\xyz\AnotherMusic.wav"");
SendMCICommand("close waveaudio");
end;

Или уж совсем внаглую:
mciSendString(PChar("play "C:\xyz\BackgroundMusic.wav""), nil, 0, 0);
mciSendString(PChar("play "C:\xyz\AnotherMusic.wav""), nil, 0, 0);

Удачи!



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
3-1096278468
Zif
2004-09-27 13:47
2004.10.24
как сделать переход по интернет-ссылки из DBEdit при нажитиButton


6-1092112346
r9000
2004-08-10 08:32
2004.10.24
Помогите, пожалуйста с Web-сервером


1-1097500162
BFG9k
2004-10-11 17:09
2004.10.24
Как отследить изменение файловой системы ?


1-1097061536
Кодер
2004-10-06 15:18
2004.10.24
Многопоточный сервер приложения


14-1096952439
Dimman
2004-10-05 09:00
2004.10.24
Вопрос про цифровое видео





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский