Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.10.2012, 11:38
firefedot вне форума Посмотреть профиль Отправить личное сообщение для firefedot Найти все сообщения от firefedot
  № 1  
Ответить с цитированием
firefedot
 
Аватар для firefedot

Регистрация: Dec 2010
Сообщений: 129
Question AS3 + youtube

Доброе...
Прикрутил к флешке видео с сайта youtube, показывает как надо, но нажав на кнопку переключения на другой ролик, ролик новый загружается, а от старого остается звук и поток не закрывается. player.stop и подобные команды из хелпа по API youtube не помогаю и вызывают либо ошибку, что это не функция либо ни какой реакции не дает.

Код AS3:
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.system.Security;
    import flash.events.MouseEvent;
 
 
 
var urlReq:URLRequest = new URLRequest("http://www.youtube.com/v/k6PSbUl_68k?version=3");
var player:Object;
         function Main():void
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
 
         function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            Security.allowDomain("www.youtube.com");
 
 
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
            loader.load(urlReq);
 
 
            function onLoaderInit(event:Event):void {
                addChild(loader);
            }
            function onPlayerReady(event:Event):void {
                trace("player ready:", Object(event).data);
                player = loader.content;
 
            }
        }
 
    Main();
	next_btn.addEventListener(MouseEvent.CLICK, nextVideo);
 
	function nextVideo(q:MouseEvent):void{
		urlReq= new URLRequest("http://www.youtube.com/v/oQKgV0MXFIQ?version=3");
		//player.stopVideo(2);
		Main();
 
	}
Подскажите как реализовать остановки видео, код примитивен и приведен для примера... но нада же на нем где-то упустил момент, а какой не могу понять . подскажите.
Спасибо.

Старый 13.10.2012, 13:36
Wadimir вне форума Посмотреть профиль Отправить личное сообщение для Wadimir Найти все сообщения от Wadimir
  № 2  
Ответить с цитированием
Wadimir

Регистрация: Nov 2009
Сообщений: 176
а почему бы не попробовать stageVideo?
Код AS3:
package
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.StageVideoAvailabilityEvent;
	import flash.geom.Rectangle;
	import flash.media.StageVideo;
	import flash.media.Video;
	import flash.net.NetConnection;
	import flash.net.NetStream;
	import flash.text.TextField;
 
 
	public class PlayerStageVideo extends MovieClip 
	{
 
		private const videoURL : String = "video.flv" ;
 
		private var video:Video;
		private var stVideo:StageVideo;
		private var ns:NetStream;
		private var nc:NetConnection;
 
		public function PlayerStageVideo () 
		{
			addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
		}
 
		private function onAddedStage (event:Event) : void
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			video = new Video ();
			nc = new NetConnection();
			nc.connect(null);
			ns = new NetStream(nc);
			ns.client = this;
 
			ns.play(videoURL);
			stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, onStageVideoAvailability);
 
		}
 
		private function onStageVideoAvailability ( evt : StageVideoAvailabilityEvent ) : void 
		{
			if (evt.availability) {
				enableStageVideo();
			} else { 
				disableStageVideo();
			}
		}
 
		private function enableStageVideo() : void {
			if ( stVideo == null ) {
				stVideo = stage.stageVideos[0];
				stVideo.viewPort = new Rectangle ( 0 , 0 , 1280 , 600 ) ;
			}
			if (video.parent) {
				removeChild(video);
			}
 
			stVideo.attachNetStream(ns) ;
		}
		private function disableStageVideo() : void 
		{
			video.attachNetStream(ns);
			addChild(video);
		}
 
		public function onXMPData(data : Object) : void{}
		public function onMetaData(data : Object) : void{}
 
	}
 
}
и тогда ns.close(); останавливает видео

Старый 13.10.2012, 14:04
firefedot вне форума Посмотреть профиль Отправить личное сообщение для firefedot Найти все сообщения от firefedot
  № 3  
Ответить с цитированием
firefedot
 
Аватар для firefedot

Регистрация: Dec 2010
Сообщений: 129
а он сможет проиграть разве видео по ссылке ?
__________________
--
Какой бы путь ты не выбрал, лягушка прыгнет врятли

Старый 13.10.2012, 16:26
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 4  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Ему без разницы, какое видел играть, цепляете к нему NetStream и вперёд.

Старый 13.10.2012, 16:40
firefedot вне форума Посмотреть профиль Отправить личное сообщение для firefedot Найти все сообщения от firefedot
  № 5  
Ответить с цитированием
firefedot
 
Аватар для firefedot

Регистрация: Dec 2010
Сообщений: 129
хм.. спасибо, но пока он youtube не принимает в свой дом....
Все равно спасибо, буду пилить дальше...
__________________
--
Какой бы путь ты не выбрал, лягушка прыгнет врятли

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:48.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.