|
|
|||||
Регистрация: Dec 2010
Сообщений: 129
|
AS3 + youtube
Доброе...
Прикрутил к флешке видео с сайта youtube, показывает как надо, но нажав на кнопку переключения на другой ролик, ролик новый загружается, а от старого остается звук и поток не закрывается. player.stop и подобные команды из хелпа по API youtube не помогаю и вызывают либо ошибку, что это не функция либо ни какой реакции не дает. 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(); } Спасибо. |
|
|||||
Регистрация: Nov 2009
Сообщений: 176
|
а почему бы не попробовать stageVideo?
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{} } } |
|
|||||
Регистрация: Dec 2010
Сообщений: 129
|
а он сможет проиграть разве видео по ссылке ?
__________________
-- Какой бы путь ты не выбрал, лягушка прыгнет врятли |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Ему без разницы, какое видел играть, цепляете к нему NetStream и вперёд.
|
|
|||||
Регистрация: Dec 2010
Сообщений: 129
|
хм.. спасибо, но пока он youtube не принимает в свой дом....
Все равно спасибо, буду пилить дальше...
__________________
-- Какой бы путь ты не выбрал, лягушка прыгнет врятли |
Часовой пояс GMT +4, время: 12:48. |
|
« Предыдущая тема | Следующая тема » |
|
|