Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.03 c
3-1096095314
Гость
2004-09-25 10:55
2004.10.24
Поиск без регистра


4-1095880392
BKGG
2004-09-22 23:13
2004.10.24
Как узнать имя класса окна.


1-1097587817
Павел
2004-10-12 17:30
2004.10.24
Выход из цикла по нажатию кнопки


14-1096545021
1008
2004-09-30 15:50
2004.10.24
Существует ли возможность изменить цвет заголовка у TabSheet?


14-1096682053
Думкин
2004-10-02 05:54
2004.10.24
С днем рождения! 2 октября





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский