首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FLVPlayback停止/播放

FLVPlayback停止/播放
EN

Stack Overflow用户
提问于 2014-01-20 12:23:04
回答 1查看 562关注 0票数 0

FLVPlayback组件和stop() play()方法出现问题。这是我的类的代码,videoPlayer是舞台上的一个FLVPlayback组件。该数组包含格式为videos/s1.flv、videos/s2.flv、videos/s3.flv的视频。当我调用stopVideo()函数时,当第一个视频仍在播放时,它会停止并倒带到视频的第1帧(工作正常),但是当我调用playVideo()方法时,它就不再播放视频了。当我在播放第二个或第三个视频时停止FLVPlayback时,它可以工作。我知道READY事件没有在第一个视频中被调用,因为它是在开始时被调用的。我哪里做错了?

代码语言:javascript
复制
public class Intro extends MovieClip {
                    private var intros:XML;
                    private var currentVideo:uint = 0;
                    private var _data:XML;


 private var videos:Array;

                public function Intro(data:XML) {
                          _data = data;

                          videoPlayer.addEventListener(VideoEvent.COMPLETE, completeHandler);
                          videoPlayer.addEventListener(VideoEvent.READY, videoReady);
                          videoPlayer.opaqueBackground = 0x000000;
                          videoPlayer.autoRewind = true;
                }

                function completeHandler(evt:Event):void {
                          trace("video complete");
                          currentVideo++;


                          if (currentVideo < videos.length) {
                                    videoPlayer.source = videos[currentVideo];
                          } else {
                                    currentVideo = 0;
                          }
                }

                public function playVideo():void {
                          trace(currentVideo);
                          if (currentVideo == 0) {
                                    trace(videos[currentVideo]);
                                    videoPlayer.play(videos[currentVideo]);
                          } else {
                                    videoPlayer.source = videos[currentVideo];
                          }
                }

                public function prepareVideos(introVideos:XML):void {
                          intros = introVideos;
                          var list:XMLList = intros.entry;
                          var entry:XML;
                          var len:int = list.length();
                          videos = new Array();

                          for (var i:int = 0; i < len; i++) {
                                    entry = list[i];
                                    videos.push(entry);
                          }
                          dispatchEvent(new Event(Event.COMPLETE));
                }

                public function stopVideo():void {
                          if (videoPlayer.playing) {
                                    trace("video stopped");
                                    videoPlayer.stop();
                                    currentVideo = 0;
                          }
                }

                private function resetVideo(e:VideoEvent):void {
                          videoPlayer.seek(0);
                }

                private function videoReady(e:VideoEvent):void {
                          trace("video ready");
                          videoPlayer.play();
                }
      }
EN

回答 1

Stack Overflow用户

发布于 2014-01-20 12:42:58

您只需要在第一次播放视频时,在play方法中指定视频名称。在此之后(即,在应用stop()之后)只需使用不带参数的play()方法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21226200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档