Вверх ↑
Ответов: 1926
Рейтинг: 172
#1: 2015-03-24 17:55:35 ЛС | профиль | цитата
Есть там такой код:
#pas
FMedia.Play(WndH,0,FMedia.Length);
(стр. 93)
По идее, второй параметр отвечает за начальную позицию, третий - за длину играемого участка, т.е. можно проиграть отрывок. Но эти параметры не работают - проверял! (HiAsm 4.04 build 185 и обновлённый с SVN AltBuild)

Посмотрел - в Media.pas на 764-й строке зачем-то стоит exit, из-за этого дальнейший код не выполняется, где как раз реализация указанных параметров! Нужен ли там exit? Если нет, может, удалить его на фиг?

Если удалять, то придётся править и HIMediaPlayer.pas.
В описании ф-ции Play в Media.pas сказано:
If value passed for StartPos is -1, current position is used to start from.
If -1 passed as PlayLength, multimedia is playing to the end of media.

А на 122-123-й строке HIMediaPlayer.pas:
#pas
FMedia.Position := ToInteger(_Data);
FMedia.Play(WndH,0,FMedia.Length);

Т.е. уже после установки позиции происходит запуск проигрывания с нулевой позиции! Передавать нужно -1.
карма: 9
0