Форум: "Media";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Внизmediaplayer & tarckbar Найти похожие ветки
← →
Groove (2002-06-19 15:37) [0]Здрасте! Как сделать зависимыми друг от друга позицию трэка в медиаплеере и позицию трэкбара? Заранее спасибо
← →
SI-riuss (2002-06-20 11:08) [1]Я уже писал подобную программку, но, к сожалению, утерял исходник, поэтому объясню на пальцах.
Прямой зависимости не поставишь, поэтому:
После загрузки файла в медиаплеер:
TrackBar1.Max:=MediaPlayer1.TrackLength;
TrackBar1.Frequency:=TrackBar1.Max div 10;
Можешь вместо 10 поставить другое число - количество шкалы TrackBar1.
При воспроизведении ставишь зависимость:
TrackBar1.Position:=MediaPlayer1.TrackPosition;
При перетаскивании ручки трекбара, соответственно, наоборот:
MediaPlayer1.TrackPosition:=TrackBar1.Position;
Ну и далее все в таком же духе...
← →
Neolord (2002-07-02 04:58) [2]Добавлю - у трекбара событие onchange
← →
gusd (2002-08-08 17:39) [3]При воспроизведении ставишь зависимость:
TrackBar1.Position:=MediaPlayer1.TrackPosition;
А при воспроизведении постоянно обновлять ползунок?
Timerом чтоли? И ещё -> если ползунок каким то образом двигается при воспроизведении(допустим Timerом) TrackBar1.Position:=MediaPlayer1.TrackPosition; то срабатывает событие Trackbara onchange
MediaPlayer1.TrackPosition:=TrackBar1.Position;
Gusd!
← →
Groove (2002-08-08 20:22) [4]Здрасте. Но при проигрывании передвигается трэкбар, значит onchange тоже сработает, тоесть
двигать его рукой = воспроизведение
нужно сделать как-то процидуры OnMouseDown и OnMouseUp
← →
SI-riuss (2002-08-10 11:12) [5]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
TrackBar1.Position:=MediaPlayer1.Position;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
MediaPlayer1.Position:=TrackBar1.Position;
end;
У меня все работает...
← →
Groove (2002-08-11 15:14) [6]А у меня нет, HEEEEELLLLLPPPPP!!!!!!!!!!
← →
SI-riuss (2002-08-12 01:03) [7]Не скули, погоди, давай разберемся.
Организуй код в таком виде:
procedure TForm1.FormCreate(Sender: TObject);
begin
With MediaPlayer1 do
begin
Filename:="S:\ser1.avi";
Open;
TrackBar1.Max:=MediaPlayer1.Length;
TrackBar1.Frequency:=TrackBar1.Max div 10;
Play;
end;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
MediaPlayer1.Position:=TrackBar1.Position;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
TrackBar1.Position:=MediaPlayer1.Position;
end;
Что тебе выдает комп?
← →
GIL (2002-08-12 05:14) [8]У меня тоже так не работает, пока не нашел TrackBar с событиями OnMouseDown/Up, и тогда все стало просто шоколадно, кто хочет могу поделиться компонентои или текстом проги, кстати компа называется swTrackBar откуда качал - непомню, извините.
← →
Groove (2002-08-12 13:26) [9]Я переделал стандартный компонент, добавил onmouseup и onmousedown всё решилось моментально!!!
← →
Thor (2002-08-12 18:00) [10]GIL делись компонентом и текстом
мыль на tho234@ngs.ru заранее пасибо
← →
Thor (2002-08-12 19:03) [11]SI-riuss и у меня этот способ не идет пишет
При инициализации MCI обнаружена неполадка
← →
GIL (2002-08-12 21:35) [12]unit play;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, swTrackBar, ExtCtrls, MPlayer;
type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
Timer1: TTimer;
swTrackBar1: TswTrackBar;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure swTrackBar1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure swTrackBar1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure swTrackBar1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
clicked:boolean;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
mediaplayer1.filename:="D:\music\2 Pac - Changes.mp3";
mediaplayer1.open;
swtrackbar1.Max:=mediaplayer1.Length div 10;
timer1.enabled:=true;
mediaplayer1.play;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if not clicked then swtrackbar1.position:=mediaplayer1.position;
if mediaplayer1.position=mediaplayer1.length then begin mediaplayer1.close;timer1.enabled:=false; end;
end;
procedure TForm1.swTrackBar1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
clicked:=true;
end;
procedure TForm1.swTrackBar1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
mediaplayer1.position:=swtrackbar1.position;
mediaplayer1.play;
clicked:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
clicked:=false;
end;
procedure TForm1.swTrackBar1Change(Sender: TObject);
begin
if clicked then mediaplayer1.position:=swtrackbar1.position;
end;
end.
← →
SI-riuss (2002-08-14 14:40) [13]Тогда у меня уникальный комп. (AutoOpen должен быть false).
Ничего не понимаю...
← →
Groove (2002-08-14 16:26) [14]Чё уникального? Должнобыть AutoOpen=false. После Mediaplayer1.filename:="Например C:\1.mp3";
должнобыть
Mediaplayer1.open;
вот и всё, всё рулит =))
← →
SI-riuss (2002-08-14 20:16) [15]Ну все верно. Должно работать. Я не понял, почему у кого-то не идет. Специально написал код с нулевой установки компонентов. Без всяких Properties-изменений...
← →
Thor (2002-08-19 12:00) [16]Люди нужно чтобы прогресс индикатор был не только для одного файла, т.е. файл выбираешь на форме с помощью компонентов, че тогда делать с
mediaplayer1.filename:="D:\music\2 Pac - Changes.mp3";
спасибо
← →
SI-riuss (2002-08-19 21:52) [17]Ну, например, если вызвать диалоговое окно:
procedure TForm1.OpenClick(Sender: TObject);
begin
OpenDialog1.DefaultExt := "mp3";
OpenDialog1.Filename := "*.mp3";
if OpenDialog1.Execute then
begin
MediaPlayer1.Filename := OpenDialog1.Filename;
MediaPlayer1.Open;
TrackBar1.Max:=MediaPlayer1.Length;
TrackBar1.Frequency:=TrackBar1.Max div 10;
MediaPlayer1.Play;
end;
end;
Ну и остальное то же самое.
Не забудь поставить на форму компоненту OpenDialog :))
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.008 c