Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Проигрывание файла


Автор: Mew 16.10.2004, 12:49
Можно ли прогрывать 1 файл без остановки, то есть зацикливанием

Автор: deMike 16.10.2004, 12:54
Mew Возможно, но не уверен.

Автор: Alkash 16.10.2004, 12:54
Хм, как только закончится - запускай его снова...

Автор: Mew 16.10.2004, 13:04
А как это сделать программно, чтобы не создавалась паузы, а было как буд-то он повторяет и повторяется, пока пользователь к примеру его не оборвет

Автор: Alex 16.10.2004, 13:15
С помощью чего проигрываешь?

Автор: Alkash 16.10.2004, 13:29
Ну мой пропитый мозг даёт такое решение:
Проверяем длинну файла, и по таймеру в момент окончания файла запускаеим его снова(Мож вечером примерчик накидаю, щас думать в лом). biggrin.gif

Автор: Alex 16.10.2004, 13:33
Код
uses
   MMSystem;

playsound('C:\WINDOWS\Media\Windows XP - входящий звонок.wav', 0, SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT Or SND_LOOP);


О функции почитай здесь: http://mech.math.msu.su/~vfnik/WinApi/p/playsound.html

Автор: DonPager 16.10.2004, 13:37
самое просто что могу предложить :
Код
procedure TForm1.FormActivate(Sender: TObject);
begin
MMPlay.FileName := 'Gong.wav';
MMPlay.Open;
MMPlay.Play;
Tag := 0;
while Tag <> 10 do
 begin
  MMPlay.Play;
  Application.ProcessMessages;
 end;
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Tag := 10;
end;

паузы зависят от структуры проигрываемого файла...

Автор: deMike 16.10.2004, 15:57
DonPager А для чего, ты используешь таги?

Автор: Alex 16.10.2004, 17:01
Если вы хотите сделать через MediaPlayer то тогда так:
Код
procedure TForm1.Button3Click(Sender: TObject);
begin
 with MediaPlayer1 do begin
   FileName:= 'C:\WINDOWS\Media\Windows XP - входящий звонок.wav';
   Open;
   Play;
 end;
end;

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
 with MediaPlayer1 do if NotifyValue = nvSuccessful then begin
   Notify := True;
   Play;
 end;
end;

Автор: Mew 21.10.2004, 13:26
А как сделать чтобы между проигрыванием паузы не было. т.е. когда он заканчивается нет паузы, он просто мягко начинается снова без паузы

Автор: Alex 21.10.2004, 18:05
обрезать паузу вначале и в конце файла

Автор: Mew 22.10.2004, 06:16
а как понять обрезать

Автор: Alex 22.10.2004, 07:07
открыть файл в звуковом редакторе и обрезать.

Автор: Mew 22.10.2004, 07:59
А если он уже обрезан, а паузы остаются

Автор: Alex 22.10.2004, 18:03
пришли мне файл

Автор: deMike 24.10.2004, 21:52
Alex Гениально!

Mew Скорей всего, просто MediaPlayer сам делает Паузу!

Автор: Mew 25.10.2004, 13:12
Глупый вопрос, конечно.
но как обойти mediaplayer,

Автор: deMike 25.10.2004, 13:20
Mew
1. Сформулируй кратки вопрос.
2. http://www.yandex.ru
;-)

Автор: Mew 26.10.2004, 05:29
Это называется, послать человека куда подальше

Автор: Sergey89 26.10.2004, 21:38
Создай два mediaplayer сначала запусти первый а потом за секундк до окончания первого запусти второй, паузы быть не должно :hmmm

Автор: Mew 27.10.2004, 10:42
Хорошо я попробую

Автор: Гость_Serg 13.11.2004, 15:41
Привет! Я Сергей , мне нужна помощ в программировании микшера ( смесителя звука ).
Подробней , нужны рабочии процедурки на Delphi5-6 , "без лишних понтов великих программистов" , тоесть нужна коротко сама суть:
1) снять стерео сигнал с микшера ;
2) регулировать уровень записи с микшера ;
3) после , поместить этот сигнал в массив ;
4) затем , поместить массив в "MCISendString(play..." на воспроизведение;
5) далее , регулировать урровень громкости
воспроизведения ;
6) регулировать низкие и высокие частоты при воспроизведении ;

P.S. : пожалуйсто в отдельные процедурки закоментированные для использования в программе на Delphi5-6.
С Уважением Сергей. smile

Автор: p0s0l 13.11.2004, 15:45
Модератор: Пожалуйста, один топик - один вопрос.
По правилам форума, нужно создать отдельные темы по этим вопросам (а не писать вопрос в первую попавшуюся тему)...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)