Пишу медиаплейер с использованием компонента DirectShowPlayer. Хочу использовать DateConvertor для конвертирования длины трека, который выдается в миллисекундах в формат часы:минуты:секунды. И что-то у меня не получаетя. Сильно не пинайте, только изучаю HiAsm. Подскажите - можно ли вообще так сделать? Если да, то как?
Кусок схемы прилагается ниже.
code_23827.txt
И как можно в такой схеме управлять размерами и положением окна вывода видео?
Этот топик читают: Гость
Ответов: 8
Рейтинг: 0
|
|||
карма: 0 |
| ||
файлы: 1 | code_23827.txt [1.2KB] [129] |
Ответов: 3889
Рейтинг: 362
|
|||
[flood]В наше время у некоторых тем всё больше шансов остаться без ответа, заклинания Проклятья Игнора: "пишу вирус" или "пишу плеер"... Особенно - когда в очередном плеере GetEventFromData вместо Memory [/flood]
|
|||
карма: 1 |
|
Ответов: 1321
Рейтинг: 37
|
|||
1nd1g0, сейчас новичек совсем непонял что вы ему сказали
|
|||
карма: 0 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
[offtop]
1nd1g0 писал(а): когда в очередном плеере GetEventFromData вместо MemoryОтветьте мне вразумительно, где написано про то, что его можно использовать как Memory, откуда ноги растут Если его применяют, то что-то наталкивает на это 1nd1g0, и не GetEventFromData, а просто EventFromData [/offtop] |
|||
карма: 22 |
|
Ответов: 3349
Рейтинг: 233
|
|||
[offtop]Сделать вкладку "Компоненты для опытных", а при открытии спрашивать "Справку читал??"[/offtop]
|
|||
карма: 1 |
|
Ответов: 3889
Рейтинг: 362
|
|||
[flood][offtop]Ivann, я сперва это хотел предложить, но побоялся быть охаяным за "нарушение традиций" )) При использовании впервые элемента из режимапанеливкладки для опытных - "Вы впервые используете элемент ХХХ, при неправильном использовании способный замедлить или нарушить правильную работу вашей программы. Настоятельно рекомендуется ознакомиться с его подробным описанием!" и обратный отсчёт на запуск справки пошёл)[/offtop][/flood]
|
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
1nd1g0 писал(а): "Вы впервые используете этот элемент настоятельно рекомендуется ознакомиться с его подробным описанием!"А вы не спросили, а мне это напоминание зачем |
|||
карма: 22 |
|
Ответов: 3889
Рейтинг: 362
|
|||
[flood][offtop]Это всё, конечно, никто не реализует, потому свобода рассуждений полная. nesco, это выскочит всего лишь до первого прочтения справки по элементу, в базе хранится прочтённость. Если не навязывать, люди ничего никогда читать не будут. Хотя бы немного меньше однотипных глупых вопросов станет. Обязать народ регистрироваться на форуме для активации проф. элементов, если чего-то явно не дочитал, и флудит на тему, добрый модератор снимает у человека флаг "изученности" на данном элементе. По-другому народ читать не заставить)[/offtop][/flood]
|
|||
карма: 1 |
|
Ответов: 1321
Рейтинг: 37
|
|||
[flood]Может всё-таки этот разговор в отдельную тему занесёте ?
А то уже третья по счёту, и везде одно и тоже[/flood] |
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Serge BY, по теме топика, чуть не забыл Вам подсказать. Во-первых, нельзя опрашивать точку позиции до начала воспроизведения. Может вылететь с ошибкой вся программа. Во-вторых, данные не в Integer, а в Real там, чем мучать даты, возможно, лучше произвести собственные вычисления MathParse или FastMathParse
|
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
1nd1g0 писал(а): лучше произвести собственные вычисления MathParse или FastMathParse1nd1g0, главное не забывай, когда советуешь, что некоторые компоненты не поддерживаются в FPC, коим, в данном случае, является FastMathParse |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
1nd1g0 писал(а): Во-вторых, данные не в Integer, а в Real там |
|||
карма: 25 |
|
Ответов: 8
Рейтинг: 0
|
|||
Спасибо за помощь
|
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Tad, плеер выдаёт миллисекунды в Real, не смотря на жёлтенькую точку. Возможно, от того его и клинит так в процессе приёма данных через неё.
Автор компонента ошибся типом данных? procedure THIDirectShowPlayer._var_Position;
var d:double; begin MyMediaPosition.get_CurrentPosition(d); dtReal(_Data, d); end; Position=Содержит позицию текущего места проигрывания файла (в миллисекундах)|3|1 |
|||
карма: 1 |
|
Ответов: 8
Рейтинг: 0
|
|||
1nd1g0 писал(а): чем мучать даты, возможно, лучше произвести собственные вычисления MathParse или FastMathParse Я сначала так и сделал, но потом подумал, что можно сделать одним блоком DateConvertor и решил попробовать и вот второй вариант у меня не получился... |
|||
карма: 0 |
|