![]() |
Как добавить ActionScript в Media Components
У меня такая проблема, мне нужно добавить NetStream.setBufferTime() в MediaController, то есть мне нужно контролировать размер части flv файла записывающейся в буффер внутри медиа компонента. И, если кто знает, какая величина буффера задана по умолчанию. А вообще, хотелось бы знать, как можно добавить ActionScript в любой флеш компонент. Заранее благодарен.
|
В MediaController вроде этого нет, но в FLVPlayback есть точно.
Я про буффер. |
А что такое FLVPlayback, я знаю только MediaPlayback. Я работаю в 7-ой версии Флеш и FLVPlayback не вижу среди медиа компонентов. А как насчёт "добавить ActionScript в любой флеш компонент", можешь что-нибудь подсказать?
|
FLVPlayback это из 8-ки.
Про добавить не знаю, я очень редко использую стандартные компоненты. |
Цитата:
|
Цитата:
Подожди ответа знатоков компонентов, может что и скажут. |
Спасибо. Будем ждать.
|
Я бы не стал ничего добавлять, а сдела оболочку, имхо удобней ввиде класса
в классе продублировать нужные тебе методы, и добавить свои. |
А медиа компоненты какой это класс, с чего наследовать?
|
Media
|
я же говорю наследовать не стоит, тебе нужно будет добавлять графику и тд, щас искал в хелпе, не нашел где, нашел в хелпе по Flex 1.5, но аналогичные действия во флэше, не дали результата.
Сделать лучше думаю так. Без класса: Вставить в мувик твой медиа контролер и просто дублировать методы, нужные тебе например Код:
function displayFull() { |
Всё равно не очень понятно, как например будет выглядеть метод setBufferSize для медиа контролера? И ещё, может кто знает, где находятся все скрипты для компонентов, я уверен что они входят в пакет Флеш, но куда они попадают при инсталяции и как называется файл скрипта для медиа компонент, не знаю.
|
что касается компонентов:
Код:
/**а вообще по личному опыту скажу, мне пришлось работать со стандартными компонентами и не скажу что сильно они мне облегчили жизнь, местами даже очень и не облегчили. так как уж очень все там закопано-зарыто, и не всегда удобно, + их весь не соответствует их возможностям :) |
Я реализовывал динамическую буфферизацию, так мне пришлос расширять как минимум mx.controls.MediaDisplay и mx.controls.streamingmedia.RTMPPlayer(или FLVPlayer).
Расширять MediaDisplay по большому счету нужно только для того чтобы использовать расширенный RTMPPlayer(или FLVPlayer). У каждого из них есть приватный член _ns:NetStream, который и нужно контролировать (setBufferTime). Для наглядности можно достать нет стрим положив на всю приватность, то есть обратиться следующим образом: Код:
myMediaDisplay["_playerImpl"]["_ns"].setBufferTime(2) |
Цитата:
1. Работает ли этот код во Флеш 7? 2. Что такое ["_playerImpl"]? 3. Откуда ты узнал о существовании _ns:NetStream? 4. Где находится сам скрипт для компонентов? Это я к тому, что если завтра мне понадобится расширить другой компонент, то мне нужно будет где-нибудь достать спецификацию для интересующего меня класса. |
1. Да. Компоненты v2 работают и под 6-ку(исключение r65). Только совмещать v1 и v2 нельзя.
2. Получаем доступ к реализованному плееру(player implemented), то есть к RTMPPlayer или к FLVPLayer, в зависимости от типа медии (стрим или прогрессив). Инициализируется при вызове метода setMedia(). 3. Реализацию плееров можно посмотреть в пакете mx.controls.streamingmedia. 4. Если он поставляется с пакетом mx, можно поискать его в этом пакете, примерно здесь: C:\Documents and Settings\[userName]\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\mx |
| Часовой пояс GMT +4, время: 23:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.