20
июл
  Flash видео плеер. (avi)   0 баллов
 

Можно-ли осуществить подгрузку avi и других видео форматов (кроме flv) из внешнего файла (через xml, например)?
Если можно приведите примеры, или ткните носом в статью.

Комментарии (11)   Автор: KamaZz
Комментарии
admin
20.07.10 | 21:28
0 баллов

Организовать подгрузку файлов можно, но проигрывать их у вас не получится. Для того, чтобы видео проигрывалось внутри Flash оно должно быть в формате .flv

Rain...
21.07.10 | 20:16
17 баллов

Однако готов поспорить. ибо Качал из контакте видеозаписи и они были в формате .mp4
Что говорит о том, что, в принципе, есть возможность организовать проигрываение видио не только в формате flv. Остаётся только открытым вопрос. как это делается. А вот avi - это уже точно нет.

admin
21.07.10 | 21:50
0 баллов

Если честно, то первый раз об этом слышу. Как вариант могу предположить, что расширение файла было .mp4, но сам файл был закодирован в формате .flv, хотя, конечно, это только предположение и, возможно, и правда есть способ проигрывать .mp4 файлы.

Rain...
22.07.10 | 17:54
0 баллов

Врать не буду, сам не проверял, просто обратил внимание при скачивании, что файл mp4.
Есть вопрос по видео плееру в принципе. Написал его, значит, и возникла проблема, fullscreen не работает в браузерах. Писал двумя способами, ни один из:

fulls.onPress = function() {
fscommand("fullscreen", true);
};
и
fulls.onPress = function() {
Stage.displayState = "fullscreen";
};
не работает.

Как это прописать? Скинами пользовался стандартными, на них FullScreenButton Тоже не работает в браузерах.

admin
22.07.10 | 20:48
0 баллов

Для работы FullScreen режима необходимо в браузере корректно прописать параметр allowFullScreen.

Rain...
23.07.10 | 01:32
0 баллов

всё, понял. спасибо!) полностью работает!))

Rain...
23.07.10 | 00:12
0 баллов

в браузере?! эм. Я в сметении. Может в коде страницы? Так как готовые то плееры, типа Вконтакте, рутуб, ютуб и так далее открываются.

Если не сложно, не мог бы ты привести пример кода. А точнее, куда нужно вписывать этот параметр?

Rain...
24.07.10 | 13:57
0 баллов

Раз уж пошла такая пьянка...
Написал видео плеер на AS2, но пришлось переписать под AS3.
Проблема возникла с перемоткой и громкостью.
Если для реазизации их в AS2 нам хватало прописать

my_mc.onPress = function() {
this.onMouseMove = function () {
//тут перетаскивание, регулировка, всё, что угодно
}
}
, то на AS3 так просто вс не проходит.
Ни как не могу понять, как реализовать это с этими постоянными addEventListener
Если не сложно, можешь написать пример кода регулировки громмкости объекта FLVPlayback на языке Если имя бегунка допустим будет volseek.
Я с третьим акшнскриптом стал работ совсем недавно и не могу в нём разобраться, так как слишком привык ко второму,
уже 6 лет на нём работаю и так сразу моментально переучиться что-то не выходит. буду чень благодарен.

admin
24.07.10 | 15:36
0 баллов

Если я правильно вас понял, то основная проблема, которая у вас возникла — это проблема с отслеживанием MouseMove при нажатие на поле перемотки. В AS3 это реализуется через добавление слушателей MouseMove при нажатии мышки и удалении их при отпускании мышки, например так:

public function void()
{
	// If object already on stage
	if (this.stage) 
	{	
		this.onAddedToStage();
	
	// If object not on stage yet.
	}else
	{
		this.addEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage);
	}
}

/**
 * Listener of ADDED_TO_STAGE event.
 * 
 * @param	event the base event object.
 */
private function onAddedToStage(event:Event = null):void 
{
	this.removeEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage);
	
	
}


/**
 * Функции для работы со слушателями события нажатия мышки на объекте.
 */

/**
 * Добавление слушателя нажатия мышки на объекте.
 */
private function addOnMouseDown():void 
{
	this.addEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown);
}

/**
 * Удаление слушателя нажатия мышки на объекте.
 */
private function removeOnMouseDown():void 
{
	this.removeEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown);
}

/**
 * Слушатель события нажатия мышки на объекте.
 * 
 * @param	event событие мышки.
 */
private function onMouseDown(event:MouseEvent):void 
{
	this.addOnMouseMove();
}


/**
 * Функции для работы со слушателем события поднятия мышки.
 */

/**
 * Добавление слушателя поднятия мышки.
 */
private function addOnStageMouseUp():void 
{
	this.stage.addEventListener(MouseEvent.MOUSE_UP, this.onStageMouseUp);
}

/**
 * Удаление слушателя поднятия мышки.
 */
private function removeOnStageMouseUp():void 
{
	this.stage.removeEventListener(MouseEvent.MOUSE_UP, this.onStageMouseUp);
}

/**
 * Слушатель события поднятия мышки.
 * 
 * @param	event событие мышки.
 */
private function onStageMouseUp(event:MouseEvent):void 
{
	this.removeOnMouseMove();
}


/**
 * Функции для работы с событием движения мышки.
 */

/**
 * Добавление слушателя события движения мышки.
 */
private function addOnMouseMove():void 
{
	this.stage.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove);
}

/**
 * Удаление слушателя события движения мышки.
 */
private function removeOnMouseMove():void 
{
	this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove);
}

/**
 * Слушатель события движения мышки.
 * 
 * @param	event событие мышки.
 */
private function onMouseMove(event:MouseEvent):void 
{
	
}

Rain...
25.07.10 | 17:50
0 баллов

посмотрел ваш пример. Благодарю! слегка переработал, получилось вот так

function onMove( pEvent:MouseEvent):void {
	var z:Number = scinbar.volbar.mouseX*2;
	if (z<1) {
		z=0;
	}
	if (z>99) {
		z=100;
	}
	z=z/100;
	playzone.volume = z;
	scinbar.volbar.volseek.x = z*50;
}
function onUp( pEvent:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_MOVE,onMove);
}
function onDown( pEvent:MouseEvent):void {
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
}
scinbar.volbar.volseek.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
stage.addEventListener(MouseEvent.MOUSE_UP,onUp);

с громкостью разобрался.
попытался тем же путём задать слушателей и функции на перемотку видео и тут столкнулся с непонятной проблемой. первое. я реализовал передвижение ползунка при воспроизведении через setInterval а в нём через считывание текущего времени воспроизведения.
в связи с этим. когда я начинаю перетаскивать ползунок во время произведения
function onMoveSeek( pEvent:MouseEvent):void {
	var persent:Number = scinbar.bars.mouseX*100/350;
	var per:Number = playzone.metadata.duration/100;
	if (persent>99) {
		persent = 100;
	}
	if (persent<1) {
		persent = 0;
	}
	var seekvid:Number = persent*per;
	seekvid = Math.round(seekvid);
	playzone.seek(seekvid);
	scinbar.playseek.x=(persent*3.5)+45;
}
у меня не происходит перемотка, а ползунок постоянно вырывается и возвращается на текущую точку воспроизведения.
а если я сначала передвину, а потом включу воспроизведение, но оно почему-то не начинается.
как быть в этой ситуации?

Rain...
25.07.10 | 19:06
0 баллов

Вроде решил проблему, предварительно ставить на паузуи вновь запускать иже с новый значением .seek();
Перемотка в таком случае работает прекрасно, но нет визуального перетаскивания ползунка, так как setInterval продолжает работать. Есть ли возможность как-то програмно его приостановить и потом по событию MOUSE_UP вновь запустить?
И ещё вопрос. Если у меня создана функция

function handleClick( pEvent:MouseEvent
):void {
//тут идёт проверка, на какую кнопку мы нажали мышкой(проигрывать. пауза и т.д.) через if (pEvent.target==имя кнопки)
}

Есть ли возможность запустить эту функцию, не нажимая. например на плэй, или придётся весь её текст переписывать заново?
Заранее благодарю.

 
 
 
 

Последние комментарии

Полезные ссылки

Реклама сайтов

Скидки на жемчуг и янтарь. Оптовая продажа жемчуга в москве. Индийские украшения и бижутерия.
Модные украшения, жемчуг. Посмотрите каталог ювелирной бижутерии на сайте. Скидки в мире жемчуга.