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

Вниз

Проигрывание мультимедиа файлов nonstop   Найти похожие ветки 

 
Puliay   (2003-07-16 15:52) [0]

Подскажите пожайлуста! Как используя компонент TMediaPlayer воспроизводить ряд музыкальных или видео файлов без дополнительного вмешательства, т.е. при нажатии одной кнопки последовательно проигрывать все видео или аудио файлы содержащиеся в одной произвольной папке?


 
iXuSs   (2003-07-16 16:42) [1]

Эта задача решается в два подхода - требуется написать программу, которая проигрывала бы некоторый плей-лист, что не сложно реализовать на основе стандартных классов, типа TStrings или же компонентов, и используя событие OnNotify медиаплеера.

Далее, при нажатии кнопки нужно создать список файлов некоторой папки, которые будут проигрываться, и пометсить этот список в плей-лист. Это делается при помощи FindFrist, FindNext и других функций по заданной маске.


 
Думкин   (2003-07-17 05:32) [2]

Что каксаемо onNotify, то недавно у меня при проигрывании файлов DivX было следующее:
При остановке файла событие срабатывало, но при обработке я проверял mode а он был mpPlaying, и переходил в mpStopped примерно через секунду. Может я где-то чего-то, но это вылазило с завидной регулярностью.
Пришлось делать дополнительные вещи.


 
iXuSs   (2003-07-17 22:52) [3]

Я как-то сказал, что TMediaPlayer - старый глючный компонент и очень хотелось бы, чтобы Borland переписала его, при этом разложив на составляющие.


 
ЮЮ   (2003-07-18 06:11) [4]

>Я как-то сказал, что TMediaPlayer - старый глючный компонент и очень хотелось бы, чтобы Borland переписала его, при этом разложив на составляющие.

А самому переписать что мешает? :-) От Борланда там, по существу, только кнопочки, а все остальное - mciSendCommand(...)


 
iXuSs   (2003-07-18 15:55) [5]

> А самому переписать что мешает?

Мне лично такой компонент не требуется, я пользуюсь TBASSPlayer.


 
Лавриненко Алексей   (2003-07-20 09:06) [6]

iXuSs, а вы не могли бы вставить кусочек программки или объяснить по подробнее?. Дело все в том, что я только начинаю программировать...Please!


 
iXuSs   (2003-07-20 15:00) [7]

Вот очень простой пример:

unit MediPlayerUnit;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, MPlayer;

type
TPlayerForm = class(TForm)
MediaPlayer: TMediaPlayer;
memoFileList: TMemo;
buttonPlay: TButton;
procedure MediaPlayerNotify(Sender: TObject);
procedure buttonPlayClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
PlayerForm: TPlayerForm;
Num: Integer;

implementation

{$R *.DFM}

procedure TPlayerForm.MediaPlayerNotify(Sender: TObject);
begin
If MediaPlayer.Mode = mpStopped then
begin
Num := Num + 1;
If Num > memoFileList.Lines.Count-1 then Num := 0;
MediaPlayer.FileName := memoFileList.Lines.Strings[Num];
MediaPlayer.Open;
MediaPlayer.Play;
( Sender: TObject)
Вот очень простой пример:

unit MediPlayerUnit;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, MPlayer;

type
TPlayerForm = class(TForm)
MediaPlayer: TMediaPlayer;
memoFileList: TMemo;
buttonPlay: TButton;
procedure MediaPlayerNotify(Sender: TObject);
procedure buttonPlayClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
PlayerForm: TPlayerForm;
Num: Integer;

implementation

{$R *.DFM}

procedure TPlayerForm.MediaPlayerNotify(Sender: TObject);
begin
If MediaPlayer.Mode = mpStopped then
begin
Num := Num + 1;
If Num > memoFileList.Lines.Count-1 then Num := 0;
MediaPlayer.FileName := memoFileList.Lines.Strings[Num];
MediaPlayer.Open;
MediaPlayer.Play;
end;
end;

procedure TPlayerForm.buttonPlayClick(Sender: TObject);
begin
Num := 0;
MediaPlayer.Enabled := True;
MediaPlayer.FileName := memoFileList.Lines.Strings[Num];
MediaPlayer.Open;
MediaPlayer.Play;
end;

end.


Собственно говоря, на форме расположен TMediaPlayer, TButton и TMemo. При нажатии на кнопку проигрываются файлы, путь к которым записан в memoFileList. Когда все файлы проиграются, то список проигрывается заново. Этим примером я хотел показать работу с OnNotify.


 
Puliay   (2003-07-23 14:07) [8]

А как заполнить мемо-лист?



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
6-66047
HimA
2003-09-22 13:58
2003.11.20
IP-адрес


14-66079
Fox
2003-10-30 13:41
2003.11.20
Вопрос про команды в FoxPro?


1-65969
Slavik
2003-11-11 03:07
2003.11.20
Куда подевался компонент TQuickReport в D7?


1-65902
MozG
2003-11-08 14:23
2003.11.20
Как программно узнать количество папок/файлов в папке и подпапках


14-66105
mip
2003-10-29 10:14
2003.11.20
как посмотреть связи





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