PDA

Просмотр полной версии : Свой класс расширяющий Video class


HH_
15.09.2007, 21:06
Устанавливая ширину и высоту видео обьекта в конструкторе класса VideoMaker - наследника Video, не вижу изменений
(остаются значения от конструктора Video по умолчанию 320х240 )


package
{
import flash.media.Video;
...

class VideoMaker extends Video
{

public function VideoMaker()
{
...

this.attachNetStream(stream);

this.width = 260;
this.height = 195;

...
}

...

}
}

Хотя trace показывает что width у обьекта моего класса 260 как я и задал в конструкторе, ширина видео объекта остается 320.


var picVideo = new VideoMaker();
trace(picVideo.width); // 260

Вопрос: Как сделать чтобы размер видео в классе VideoMaker задавался из конструктора или параметрами конструктора как в родительском классе Video?

silin
16.09.2007, 01:18
не удалось воспроизвести трабл: вставил в пример из хелпа вместо Video его наследника
package {
import flash.media.Video;
class VideoMaker extends Video{
public function VideoMaker(){
this.width = 560;
this.height = 195;
}
}
}
все растянулось как заказали..

HH_
16.09.2007, 16:11
Да, действительно. Проблема оказалась в другой части кода.
Дело в том, что у меня кадры копируются из Видео обьекта в BitmapData через определенный интервал времени, для последующей обработки. И как бы я не менял размер видео, размер картинки кадра в BitmapData остается фиксированного размера(320х240 как я понимаю). Пока не попробовал, но думаю матрица трансформации в методе draw() решит мою проблему.

Molecula
16.09.2007, 16:24
Решит.

HH_
17.09.2007, 09:33
Другой вопрос: Допустим, исходное видео имеет размер 800х600 и относительно хорошее качество. В этом случае, растягивание картинки 320х240 через матрицу трансформации приведет к потере качества. Как сделать, чтобы кадр, который копируется из объекта VideoMaker в BitmapData, имел размер исходного flv видео?

silin
17.09.2007, 14:40
тут пробовать надо, нет опыта, но мысли такие:
если ты все равно тянешь полноразмерный поток, то не важно в каком размере ты его покажешь (создай видео в отмасштабированном мувике, например) , копирование битмапа все равно даст исходные 800х600