Вверх ↑
Этот топик читают: Гость
Ответов: 204
Рейтинг: 2
#16: 2015-10-03 01:26:41 ЛС | профиль | цитата
Netspirit писал(а):
Скорее всего нужен IMediaEvent
IMediaEventSink - это если пишешь свой фильтр и хочешь сам вызывать события.


Мдее, а мне почему-то казалось что все будет проще! Оказалось показалось!

На горизонте выходные, может хоть теоретически изучу предмет.
Но это только так, для понимания. Чувствую придется как-то обходится иными средствами! Но действительно жаль, что для такого интересного компонента нет возможности прикрутить события!
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#17: 2015-10-03 02:07:30 ЛС | профиль | цитата
ogrif писал(а):
что для такого интересного компонента нет возможности прикрутить события!

Я же написал, что могу заставить выдавать плеер все события, но вот какое событие на что конкретно отвечает, не совсем понятно. К примеру, на загрузку твоих файлов происходят два события -- EC_CLOCK_CHANGED (0x0D) и EC_PAUSE (0x0E). На отключение интернета на компе файлы тут же закрываются с выдачей события EC_COMPLETE (0x01). При переключении с одного файла на другой иногда возникает событие EC_STREAM_ERROR_STILLPLAYING (0x07), после чего выдаются события запуска нового файла EC_CLOCK_CHANGED (0x0D) и EC_PAUSE (0x0E). Какие события происходят при потере канала на стороне сервера или в интернете, я без понятия, такой информации мне найти не удалось, это надо отлавливать в реальном времени долго и нудно. Могу выложить компонент, который будет выдавать все эти коды в шестнадцатеричном формате, вот только искать чему они конкретно соответствуют надо уже самому на MSDN или в интернете.
карма: 22

0
Ответов: 204
Рейтинг: 2
#18: 2015-10-03 13:39:37 ЛС | профиль | цитата
nesco писал(а):
Я же написал, что могу заставить выдавать плеер все события, но вот какое событие на что конкретно отвечает, не совсем понятно. К примеру, на загрузку твоих файлов происходят два события -- EC_CLOCK_CHANGED (0x0D) и EC_PAUSE (0x0E). На отключение интернета на компе файлы тут же закрываются с выдачей события EC_COMPLETE (0x01). При переключении с одного файла на другой иногда возникает событие EC_STREAM_ERROR_STILLPLAYING (0x07), после чего выдаются события запуска нового файла EC_CLOCK_CHANGED (0x0D) и EC_PAUSE (0x0E). Какие события происходят при потере канала на стороне сервера или в интернете, я без понятия, такой информации мне найти не удалось, это надо отлавливать в реальном времени долго и нудно. Могу выложить компонент, который будет выдавать все эти коды в шестнадцатеричном формате, вот только искать чему они конкретно соответствуют надо уже самому на MSDN или в интернете.


Ок. Возможно я просто не так понял!
Ну дык если есть возможность, то почему бы не сделать то что можно? Пусть будут шестнадцатеричные коды. Это уже прогресс! Там я уже потихонечку допилю (по крайней мере попробую)!
Да и хотелось бы узнать сколько мне будет стоить такое счастье??? Желательно в деревянных!
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#19: 2015-10-03 15:23:57 ЛС | профиль | цитата
ogrif писал(а):
Пусть будут шестнадцатеричные коды.

Я могу сделать и целочисленные, но тогда самому надо будет конвертировать. Пожалуй, это будет даже лучше, тк у нас все заточено под целочисленные значения.
ogrif писал(а):
Да и хотелось бы узнать сколько мне будет стоить такое счастье??? Желательно в деревянных!

Пиши на почту, адрес в моем профиле
карма: 22

0
Ответов: 204
Рейтинг: 2
#20: 2015-10-03 15:58:24 ЛС | профиль | цитата
nesco писал(а):

Пиши на почту, адрес в моем профиле


Аммм, куда писать????


------------ Дoбавленo в 15.58:
Может мне напишешь?
orfei@bk.ru
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#21: 2015-10-03 18:44:25 ЛС | профиль | цитата
О! Странно, а мне видно. Вот мой адрес -- nesco_sochi<собачка>mail.ru
карма: 22

0
Ответов: 204
Рейтинг: 2
#22: 2015-10-03 20:59:22 ЛС | профиль | цитата
УрЯ-Я-Я!!!!! Великий и просветленный Nesco порадовал нас обновленным компонентом DirectShowPlayer
Я доволен аки слон!

DirectShowPlayer
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#23: 2015-10-03 22:39:18 ЛС | профиль | цитата
ogrif писал(а):
Великий и просветленный Nesco

Ну, это ты зря. Я не волшебник, я только учусь
карма: 22

0
Ответов: 5227
Рейтинг: 588
#24: 2015-10-04 08:15:58 ЛС | профиль | цитата
Netspirit писал(а):
NetspiritСкорее всего нужен IMediaEvent,[/quote=Netspirit]
да и в праду msdn пишет и ex расширен но всё рвно хрень полная. помню делал трансляцию видеопотка так там в dspack логи по фильтрам подробно по пинам и на русском
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 4621
Рейтинг: 746
#25: 2015-10-05 12:25:40 ЛС | профиль | цитата
[offtop]nesco, рекомендация: в таких фрагментах как этот
while MediaEvent.GetEvent(evCode, l1, l2, 1) = S_OK

(или подобные функции ожидания) последний параметр Timeout нужно выставлять больше, например, 1000. Иначе при отсутствии событий в очереди, ты впустую гоняешь цикл и заставляешь систему слишком часто переключать поток
[/offtop]
карма: 26

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#26: 2015-10-05 22:59:36 ЛС | профиль | цитата
Netspirit писал(а):
(или подобные функции ожидания) последний параметр Timeout нужно выставлять больше, например, 1000. Иначе при отсутствии событий в очереди, ты впустую гоняешь цикл и заставляешь систему слишком часто переключать поток

Пробовал, иногда теряются события. Максимум 10 можно поставить. Те как бы там нет буфера событий, мне так показалось. Но нагрузка на процессор не меняется, что 1 поставить, что 1000
карма: 22

0
Ответов: 4621
Рейтинг: 746
#27: 2015-10-06 10:17:57 ЛС | профиль | цитата
nesco писал(а):
Пробовал, иногда теряются события
Вроде не должно: таймаут работает, когда событий нет в очереди. Ты вызываешь GetEvent и, если в очереди нет событий, твой поток останавливается до появления нового события. Если события есть, метод сразу возвращает результат без ожидания.
карма: 26

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#28: 2015-10-07 14:00:03 ЛС | профиль | цитата
В принципе, это экспериментальный вариант, как раз на такие случаи, чтобы отладить окончательно. Попробую поставить больше и погонять
карма: 22

0
28
Сообщение
...
Прикрепленные файлы
(файлы не залиты)