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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.005 c
11-1213530831
Artlav
2008-06-15 15:53
2010.03.07
RichEdit: Синхронизация и ограничения.


2-1262071082
Who_is_you?
2009-12-29 10:18
2010.03.07
Чтение и запись в LPT в режиме Bidirection Win XP, Win98?


2-1262423504
serhiyiv
2010-01-02 12:11
2010.03.07
TMemoryStream


2-1262677121
Андрей Пл
2010-01-05 10:38
2010.03.07
Остановить выполнение пророги в задонном месте до опред. события?


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





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