Вверх ↑
Этот топик читают: Гость
Ответов: 2193
Рейтинг: 673
#46: 2017-06-10 14:47:44 ЛС | профиль | цитата
powerbatman, вот это точно сделали?
sla8a писал(а):
Если нет предыдущего MediaPlayerEx, то устанавливаем (ini файл перетащить на рабочее поле HiAsm) и в папку HiAsm (Elements\delphi\code) копируем Media.pas.

карма: 10

0
Ответов: 165
Рейтинг: 6
#47: 2017-06-10 20:42:23 ЛС | профиль | цитата
sla8a, значения Speed и Volume, которые были выставлены в дизайн тайм, не влияют на скомпилированные значения (всегда по умолчанию). Хоть это и не критично.
карма: 4

0
Ответов: 113
Рейтинг: 1
#48: 2017-06-11 11:31:11 ЛС | профиль | цитата
sla8a
sla8a писал(а):
sla8a писал(а):
Если нет предыдущего MediaPlayerEx, то устанавливаем (ini файл перетащить на рабочее поле HiAsm) и в папку HiAsm (Elements\delphi\code) копируем Media.pas.
все заного переустановил , все заработало. еще скачивал кодеки (K-Lite_Codec_Pack_1275_Full) , а то с первого раза не открылось видео почему то

Редактировалось 1 раз(а), последний 2017-06-11 11:34:06
карма: 0
well done turner
0
Ответов: 2193
Рейтинг: 673
#49: 2017-06-11 17:38:37 ЛС | профиль | цитата
Nickname писал(а):
FrameRate ... выдаёт значение 1000 с абсолютно любым открытым файлом

Nickname, в коде FrameRate высчитывается по длине проигрываемого файла (Length). Так что у вас выдает Length?
карма: 10

0
Ответов: 165
Рейтинг: 6
#50: 2017-06-13 00:30:58 ЛС | профиль | цитата
sla8a, Length выдаёт верное значение длины файла в миллисекундах (проверил на куче файлов).

--- Добавлено в 2017-06-13 01:12:25

Вообще вот это не работает FMedia.TimeFormat := tfFrames;

Редактировалось 1 раз(а), последний 2017-06-13 01:12:25
карма: 4

0
Ответов: 2193
Рейтинг: 673
#51: 2017-06-13 14:06:32 ЛС | профиль | цитата
Nickname, а какая у вас ОС?
карма: 10

0
Ответов: 165
Рейтинг: 6
#52: 2017-06-13 21:13:22 ЛС | профиль | цитата
sla8a, Windows 7 64-bit
карма: 4

0
Ответов: 165
Рейтинг: 6
#53: 2017-06-26 21:45:42 ЛС | профиль | цитата
sla8a, есть новости про fps?
карма: 4

0
Ответов: 2193
Рейтинг: 673
#54: 2017-06-26 22:24:11 ЛС | профиль | цитата
Nickname, а как определили что не работает именно: FMedia.TimeFormat := tfFrames;
карма: 10

0
Ответов: 165
Рейтинг: 6
#55: 2017-06-26 23:06:27 ЛС | профиль | цитата
sla8a, изменил код, отвечающий за выдачу длины видео, чтобы он выдавал её в кадрах, ничего не изменилось, он выдал в миллисекундах
карма: 4

0
Ответов: 2193
Рейтинг: 673
#56: 2017-06-26 23:14:22 ЛС | профиль | цитата
Nickname писал(а):
изменил код
А где и на что?
карма: 10

0
Ответов: 165
Рейтинг: 6
#57: 2017-06-27 02:53:15 ЛС | профиль | цитата
sla8a, 379 строку добавил после 341, затем вставил переключение назад на миллисекунды, как это сделано у вас в процедуре "ThiMediaPlayerEx._var_FrameRate"
карма: 4

0
Ответов: 2193
Рейтинг: 673
#58: 2017-06-27 21:27:37 ЛС | профиль | цитата
Nickname, попробуйте следующие: замените всю процедуру ThiMediaPlayerEx._var_FrameRate на этот код:
procedure ThiMediaPlayerEx._var_FrameRate;
var StatusParm: TMCI_Status_Parms;
begin
if FMedia.Width = 0 then
begin
dtReal(_Data, 0);
exit;
end;
StatusParm.dwItem := $400E{MCI_STATUS_TIME_FORMAT} and $7FFFFFFF;
mciSendCommand(FMedia.DeviceID, MCI_STATUS, MCI_WAIT or MCI_STATUS_ITEM, cardinal(@StatusParm));
dtReal(_Data, StatusParm.dwReturn / 1000);
end;
Что выдаст FrameRate?
Редактировалось 3 раз(а), последний 2017-06-27 21:28:31
карма: 10

0
Ответов: 165
Рейтинг: 6
#59: 2017-06-27 22:37:37 ЛС | профиль | цитата
sla8a, наконец FrameRate выдаёт FrameRate, большое спасибо.
карма: 4

0
Ответов: 2193
Рейтинг: 673
#60: 2017-06-27 22:59:37 ЛС | профиль | цитата
Значит внесу это изменение. Но вот почему предыдущая часть кода у вас не работала правильно, для меня осталось загадкой.

--- Добавлено в 2017-06-27 23:32:09

Получения текущего кадра вещь не такая простая, пробую некоторые варианты.

--- Добавлено в 2017-06-27 23:32:55

Обновил архив в первом посте с внесенными изменениями.

Редактировалось 2 раз(а), последний 2017-06-27 23:32:55
карма: 10

1
Голосовали:Konst
Сообщение
...
Прикрепленные файлы
(файлы не залиты)