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

Вниз

Mediaplayer   Найти похожие ветки 

 
2expres   (2009-12-25 12:31) [0]

Добрый день!
Использую стандартный mediaplayer с вкладки system в своем приложении и столкнулся со следующей сложностью: не могу проиграть мелодии с нужной секунды. Как я полагал свойство position - это время в милисекундах, но видемо ошибся.
Заранее благодарю за помощь.


 
Рамиль_   (2009-12-25 12:37) [1]

TMediaplayer.Position <= TMediaplayer.Length


 
2expres   (2009-12-25 12:50) [2]

Mediaplayer.Length мелодии равно 230258 хотя длительность ее равна 3:02. Как мне тогда узнать длительность проигроваемой мелодии?


 
oldman ©   (2009-12-25 12:54) [3]

Делим 230258 на 182
Получаем 1 секунда = 1265,15384615385

При установке Position:=2530 Должен получить начало 3 секунды


 
Рамиль_   (2009-12-25 12:59) [4]


> oldman ©   (25.12.09 12:54) [3]

Так ему для этого длительность надо получить.
А справки видимо нет.

Unit: MPlayer

Type: property

Visibility: public

Member Of: TMediaPlayer
[edit] Description

Determines the format used to specify position information.

TimeFormat determines how the StartPos, Length, Position, Start, and EndPos properties are interpreted. For example, if Position is 180 and TimeFormat is tfMilliseconds, the current position is 180 milliseconds into the medium. If Position is 180 and TimeFormat is tfMSF, the current position is 180 minutes into the medium.

Not all formats are supported by every device. When trying to set an unsupported format, the assignment is ignored.

The current timing information is always passed in a 4-byte integer. In some formats, the timing information returned is not really one integer, but single bytes of information packed in the long integer.


 
2expres   (2009-12-25 13:31) [5]

Задаю Mediaplayer1.TimeFormat:=tfMilliseconds;
и все равно свойство position в относительных каких то величинах и проблема решается только через перевод в эти относительные величины?


 
Anatoly Podgoretsky ©   (2009-12-25 13:34) [6]

> 2expres  (25.12.2009 12:31:00)  [0]

Ты справку не хочешь читать, вместо этого делаешь неверные предположения


 
Anatoly Podgoretsky ©   (2009-12-25 13:36) [7]

> oldman  (25.12.2009 12:54:03)  [3]

Зачем делим на 182 и вообще зачем делим?


 
Anatoly Podgoretsky ©   (2009-12-25 13:55) [8]

> 2expres  (25.12.2009 13:31:05)  [5]

Ты не загадками говори, а приводи конкретные данные, какой тип задаешь, значение длины, данные для Position, результат.


 
oldman ©   (2009-12-25 13:56) [9]


> Anatoly Podgoretsky ©   (25.12.09 13:36) [7]


Издеваюсь над [2]
:)


 
2expres   (2009-12-25 14:00) [10]

Вообще запутался беру пример из справки Delphi:
type

 HMSRec = record
   Hours: byte;
   Minutes: byte;
   Seconds: byte;
   NotUsed: byte;

 end;

procedure TForm1.Button1Click(Sender: TObject);

var
 TheLength: LongInt;
begin

 { Set time format - note that some devices don’t support tfHMS }

 MediaPlayer1.TimeFormat := tfHMS;
 { Store length of currently loaded media }
 TheLength := MediaPlayer1.Length;
 with HMSRec(TheLength) do { Typecast TheLength as a HMSRec record }
 begin
   Label1.Caption := IntToStr(Hours); { Display Hours in Label1 }
   Label2.Caption := IntToStr(Minutes); { Display Minutes in Label2 }
   Label3.Caption := IntToStr(Seconds); { Display Seconds in Label3 }
 end;
end;end.

Загружена мелодия длительностью 3:02. Значения времени Часы: 87, минуты:132 секунды: 3. Вообще перестаю, что то понимать


 
2expres   (2009-12-25 14:20) [11]

Уважаемые знатоки, пожалуйста, подскажите как заставить Mediaplayer проигрывать мелодию например с 1 минуты???


 
Anatoly Podgoretsky ©   (2009-12-25 14:23) [12]

> 2expres  (25.12.2009 14:00:10)  [10]

Попробуй другой формат, может Set time format - note that some devices don’t support tfHMS
Not all formats are supported by every device. When trying to set an unsupported format, the assignment is ignored.


 
2expres   (2009-12-25 14:54) [13]

Mediaplayer1.position - это указатель на проигроваемое место в мелодии, как я понял оно задается mediaplayer1.Time Format.
TimeFormat уставливаю в tfMilliseconds.
Длина мелодии это свойство Mediaplayer1.Length. Time Format задает и length и position. Считываю значение length = 230148, хотя длина мелодии 3:02. Что я делаю не так?


 
Anatoly Podgoretsky ©   (2009-12-25 16:25) [14]

> 2expres  (25.12.2009 14:54:13)  [13]

Позиция и процее отсчитываются от начала медиа, а не трака (мелодии).


 
Anatoly Podgoretsky ©   (2009-12-25 16:28) [15]

> Anatoly Podgoretsky  (25.12.2009 16:25:14)  [14]

Посмотри теже показатели в формате tfTMSF для первого и второго трека.


 
Anatoly Podgoretsky ©   (2009-12-25 16:33) [16]

И сообщи значение TrackPosition  для первого трека.


 
2expres   (2009-12-29 13:12) [17]


> И сообщи значение TrackPosition  для первого трека.

TrackPosition[1] = Position


 
2expres   (2009-12-29 13:16) [18]

Продолжив эксперименты над Mediaplayer" ом прихожу к выводу, что свойства TrackPosition, Position, TrackLength, Length воводятся корректными для всех мелодий, кроме mp3. Как это можно объяснить? или у меня что то с Delphi не то???


 
Anatoly Podgoretsky ©   (2009-12-29 14:06) [19]


> TrackPosition[1] = Position

В таком случае случае сообщи значение Position, но можешь не говорить, если эти цифры особо секретны.


 
Amoeba ©   (2009-12-29 17:59) [20]


> или у меня что то с Delphi не то???

Не надо на зеркало пенять ...



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

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

Наверх




Память: 0.51 MB
Время: 0.013 c
2-1261998166
citizen
2009-12-28 14:02
2010.03.07
Дескрипторы дочерних окон


2-1262806559
pavel_guzhanov
2010-01-06 22:35
2010.03.07
Странная работа ADOQuery


15-1260399563
wl
2009-12-10 01:59
2010.03.07
Линукс - зачем?


15-1260504709
Дмитрий С
2009-12-11 07:11
2010.03.07
Взлетит шарик?


2-1262773465
NewZ
2010-01-06 13:24
2010.03.07
Рабочий стол Windows.