Develop and Download Open Source Software

Browse Subversion Repository

Diff of /NNDDv2/trunk/src/org/mineap/nndd/player/PlayerController.as

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 370 by mineap, Wed Oct 27 11:34:05 2010 UTC revision 381 by mineap, Sun Oct 31 04:40:23 2010 UTC
# Line 23  package org.mineap.nndd.player Line 23  package org.mineap.nndd.player
23          import mx.controls.DataGrid;          import mx.controls.DataGrid;
24          import mx.controls.SWFLoader;          import mx.controls.SWFLoader;
25          import mx.controls.Text;          import mx.controls.Text;
         import mx.controls.VideoDisplay;  
26          import mx.controls.videoClasses.VideoError;          import mx.controls.videoClasses.VideoError;
27          import mx.core.Application;          import mx.core.FlexGlobals;
28          import mx.core.Window;          import mx.core.Window;
29          import mx.events.AIREvent;          import mx.events.AIREvent;
30          import mx.events.FlexEvent;          import mx.events.FlexEvent;
31          import mx.events.MetadataEvent;          import mx.events.MetadataEvent;
32          import mx.events.VideoEvent;          import mx.events.VideoEvent;
33          import mx.formatters.DateFormatter;          import mx.formatters.DateFormatter;
         import mx.managers.PopUpManager;  
34                    
35          import org.libspark.utils.ForcibleLoader;          import org.libspark.utils.ForcibleLoader;
36          import org.mineap.nicovideo4as.MyListLoader;          import org.mineap.nicovideo4as.MyListLoader;
# Line 45  package org.mineap.nndd.player Line 43  package org.mineap.nndd.player
43          import org.mineap.nndd.FileIO;          import org.mineap.nndd.FileIO;
44          import org.mineap.nndd.LogManager;          import org.mineap.nndd.LogManager;
45          import org.mineap.nndd.Message;          import org.mineap.nndd.Message;
         import org.mineap.nndd.NGListManager;  
46          import org.mineap.nndd.NNDDDownloader;          import org.mineap.nndd.NNDDDownloader;
         import org.mineap.nndd.NNDDMyListAdder;  
47          import org.mineap.nndd.NNDDVideoPageWatcher;          import org.mineap.nndd.NNDDVideoPageWatcher;
48          import org.mineap.nndd.RenewDownloadManager;          import org.mineap.nndd.RenewDownloadManager;
         import org.mineap.nndd.comment.Command;  
         import org.mineap.nndd.comment.CommentManager;  
         import org.mineap.nndd.comment.Comments;  
         import org.mineap.nndd.event.LocalCommentSearchEvent;  
49          import org.mineap.nndd.history.HistoryManager;          import org.mineap.nndd.history.HistoryManager;
50          import org.mineap.nndd.library.ILibraryManager;          import org.mineap.nndd.library.ILibraryManager;
51          import org.mineap.nndd.library.LibraryManagerBuilder;          import org.mineap.nndd.library.LibraryManagerBuilder;
52          import org.mineap.nndd.library.LocalVideoInfoLoader;          import org.mineap.nndd.library.LocalVideoInfoLoader;
         import org.mineap.nndd.library.namedarray.LibraryManager;  
53          import org.mineap.nndd.model.NNDDComment;          import org.mineap.nndd.model.NNDDComment;
54          import org.mineap.nndd.model.NNDDVideo;          import org.mineap.nndd.model.NNDDVideo;
55          import org.mineap.nndd.model.PlayList;          import org.mineap.nndd.model.PlayList;
56          import org.mineap.nndd.playList.PlayListManager;          import org.mineap.nndd.playList.PlayListManager;
57            import org.mineap.nndd.player.comment.Command;
58            import org.mineap.nndd.player.comment.CommentManager;
59            import org.mineap.nndd.player.comment.Comments;
60          import org.mineap.nndd.util.DateUtil;          import org.mineap.nndd.util.DateUtil;
61          import org.mineap.nndd.util.IchibaBuilder;          import org.mineap.nndd.util.IchibaBuilder;
62          import org.mineap.nndd.util.LibraryUtil;          import org.mineap.nndd.util.LibraryUtil;
# Line 72  package org.mineap.nndd.player Line 66  package org.mineap.nndd.player
66          import org.mineap.nndd.util.ThumbInfoAnalyzer;          import org.mineap.nndd.util.ThumbInfoAnalyzer;
67          import org.mineap.nndd.util.ThumbInfoUtil;          import org.mineap.nndd.util.ThumbInfoUtil;
68          import org.mineap.nndd.util.WebServiceAccessUtil;          import org.mineap.nndd.util.WebServiceAccessUtil;
         import org.mineap.nndd.view.SmoothVideoDisplay;  
69          import org.mineap.util.config.ConfigIO;          import org.mineap.util.config.ConfigIO;
70          import org.mineap.util.config.ConfigManager;          import org.mineap.util.config.ConfigManager;
71            import org.osmf.events.TimeEvent;
72            
73            import spark.components.VideoDisplay;
74    
75          /**          /**
          * PlayerController.as  
76           * ニコニコ動画からのダウンロードを処理およびその他のGUI関連処理を行う。           * ニコニコ動画からのダウンロードを処理およびその他のGUI関連処理を行う。
77           *           *
78           * Copyright (c) 2008-2009 MAP - MineApplicationProject. All Rights Reserved.           * @author shiraminekeisuke(MineAP)
          *  
          * @author shiraminekeisuke  
79           *           *
80           */           */
81          public class PlayerController extends EventDispatcher          public class PlayerController extends EventDispatcher
# Line 109  package org.mineap.nndd.player Line 102  package org.mineap.nndd.player
102                  private var loader:Loader = null;                  private var loader:Loader = null;
103                  private var isMovieClipPlaying:Boolean = false;                  private var isMovieClipPlaying:Boolean = false;
104                                    
105                  private var videoDisplay:SmoothVideoDisplay = null;                  private var videoDisplay:VideoDisplay = null;
106                                    
107                  private var nicowariSwfLoader:SWFLoader = null;                  private var nicowariSwfLoader:SWFLoader = null;
108                                    
# Line 182  package org.mineap.nndd.player Line 175  package org.mineap.nndd.player
175                                    
176                  private var _videoID:String = null;                  private var _videoID:String = null;
177                                    
                 private var _myListAdder:NNDDMyListAdder = null;  
                   
178                  private var nnddDownloaderForWatch:NNDDDownloader = null;                  private var nnddDownloaderForWatch:NNDDDownloader = null;
179                                    
180                  private var lastFrame:int = 0;                  private var lastFrame:int = 0;
# Line 454  package org.mineap.nndd.player Line 445  package org.mineap.nndd.player
445                                  if(!file.exists){                                  if(!file.exists){
446                                          Alert.show("動画が既に存在しません。\n動画が移動されたか、削除されている可能性があります。", "エラー");                                          Alert.show("動画が既に存在しません。\n動画が移動されたか、削除されている可能性があります。", "エラー");
447                                          logManager.addLog("動画が既に存在しません。動画が移動されたか、削除されている可能性があります。:" + file.nativePath);                                          logManager.addLog("動画が既に存在しません。動画が移動されたか、削除されている可能性があります。:" + file.nativePath);
448                                          Application.application.activate();                                          FlexGlobals.topLevelApplication.activate();
449                                          return;                                          return;
450                                  }                                  }
451                                                                    
# Line 613  package org.mineap.nndd.player Line 604  package org.mineap.nndd.player
604                                                                                                    
605                                                  isMovieClipPlaying = false;                                                  isMovieClipPlaying = false;
606                                                                                                    
607                                                  videoDisplay = new SmoothVideoDisplay();                                                  videoDisplay = new VideoDisplay();
608                                                                                                    
609                                                  videoPlayer.label_downloadStatus.text = "";                                                  videoPlayer.label_downloadStatus.text = "";
610                                                                                                    
# Line 625  package org.mineap.nndd.player Line 616  package org.mineap.nndd.player
616                                                  videoPlayer.canvas_video.removeAllChildren();                                                  videoPlayer.canvas_video.removeAllChildren();
617                                                  videoPlayer.canvas_video.addChild(videoDisplay);                                                  videoPlayer.canvas_video.addChild(videoDisplay);
618                                                                                                    
                                                 videoDisplay.smoothing = true;  
                                                   
619                                                  videoDisplay.setConstraintValue("bottom", 0);                                                  videoDisplay.setConstraintValue("bottom", 0);
620                                                  videoDisplay.setConstraintValue("left", 0);                                                  videoDisplay.setConstraintValue("left", 0);
621                                                  videoDisplay.setConstraintValue("right", 0);                                                  videoDisplay.setConstraintValue("right", 0);
622                                                  videoDisplay.setConstraintValue("top", 0);                                                  videoDisplay.setConstraintValue("top", 0);
623                                                  videoDisplay.bufferTime = 3;  //                                              videoDisplay.bufferTime = 3;
624                                                                                                                                                                                                    
625                                                  videoDisplay.autoPlay = autoPlay;                                                  videoDisplay.autoPlay = autoPlay;
626                                                  videoDisplay.source = videoPath;                                                  videoDisplay.source = videoPath;
# Line 882  package org.mineap.nndd.player Line 871  package org.mineap.nndd.player
871                                  renewDownloadManager.renewForOtherVideo(this.mailAddress,                                  renewDownloadManager.renewForOtherVideo(this.mailAddress,
872                                          this.password, PathMaker.getVideoID(videoId), videoName,                                          this.password, PathMaker.getVideoID(videoId), videoName,
873                                          new File(videoPath.substring(0, videoPath.lastIndexOf("/")+1)),                                          new File(videoPath.substring(0, videoPath.lastIndexOf("/")+1)),
874                                          videoInfoView.isAppendComment, null, Application.application.getSaveCommentMaxCount());                                          videoInfoView.isAppendComment, null, (FlexGlobals.topLevelApplication as NNDD).getSaveCommentMaxCount());
875                          }else{                          }else{
876                                  renewDownloadManager.renewForCommentOnly(this.mailAddress,                                  renewDownloadManager.renewForCommentOnly(this.mailAddress,
877                                          this.password, PathMaker.getVideoID(videoId), videoName,                                          this.password, PathMaker.getVideoID(videoId), videoName,
878                                          new File(videoPath.substring(0, videoPath.lastIndexOf("/")+1)),                                          new File(videoPath.substring(0, videoPath.lastIndexOf("/")+1)),
879                                          videoInfoView.isAppendComment, null, Application.application.getSaveCommentMaxCount());                                          videoInfoView.isAppendComment, null, (FlexGlobals.topLevelApplication as NNDD).getSaveCommentMaxCount());
880                          }                          }
881                  }                  }
882                                    
# Line 916  package org.mineap.nndd.player Line 905  package org.mineap.nndd.player
905                                          videoInfoView.button_oldComment_reloadFromNico.label = "更新(ニコニコ動画)";                                          videoInfoView.button_oldComment_reloadFromNico.label = "更新(ニコニコ動画)";
906                                          logManager.addLog("過去ログの取得に失敗:" + event);                                          logManager.addLog("過去ログの取得に失敗:" + event);
907                                                                                    
908                                          Application.application.activate();                                          FlexGlobals.topLevelApplication.activate();
909                                          Alert.show("過去ログの取得に失敗しました。\nご利用のアカウントでは過去ログを取得できない可能性があります。\n(この機能はプレミアムアカウントでのみ利用可能です。)", Message.M_ERROR);                                          Alert.show("過去ログの取得に失敗しました。\nご利用のアカウントでは過去ログを取得できない可能性があります。\n(この機能はプレミアムアカウントでのみ利用可能です。)", Message.M_ERROR);
910                                  });                                  });
911                                  renewDownloadManagerForOldComment.addEventListener(RenewDownloadManager.PROCCESS_CANCEL, function(event:Event):void{                                  renewDownloadManagerForOldComment.addEventListener(RenewDownloadManager.PROCCESS_CANCEL, function(event:Event):void{
# Line 942  package org.mineap.nndd.player Line 931  package org.mineap.nndd.player
931                                                                                    
932                                          renewDownloadManagerForOldComment = null;                                          renewDownloadManagerForOldComment = null;
933                                                                                    
934                                          Application.application.activate();                                          FlexGlobals.topLevelApplication.activate();
935                                          Alert.show("過去ログの取得に失敗しました。", Message.M_ERROR);                                          Alert.show("過去ログの取得に失敗しました。", Message.M_ERROR);
936                                  });                                  });
937                                                                    
# Line 958  package org.mineap.nndd.player Line 947  package org.mineap.nndd.player
947                                  }                                  }
948    
949                                  // maxCountが小さすぎると過去コメントが保存されないケースがあるので水増し                                  // maxCountが小さすぎると過去コメントが保存されないケースがあるので水増し
950                                  var maxCount:Number = Application.application.getSaveCommentMaxCount();                                  var maxCount:Number = (FlexGlobals.topLevelApplication as NNDD).getSaveCommentMaxCount();
951                                  if(maxCount < 10000){                                  if(maxCount < 10000){
952                                          maxCount = 10000;                                          maxCount = 10000;
953                                  }                                  }
# Line 1172  package org.mineap.nndd.player Line 1161  package org.mineap.nndd.player
1161                                          //再生ごとのリサイズが有効か? 有効でなくてもレートが指定されているか?                                          //再生ごとのリサイズが有効か? 有効でなくてもレートが指定されているか?
1162                                          if(this.videoInfoView.isResizePlayerEachPlay || windowSizeRatio != -1){                                          if(this.videoInfoView.isResizePlayerEachPlay || windowSizeRatio != -1){
1163                                                                                                    
1164                                                  if(this.windowType == PlayerController.WINDOW_TYPE_FLV && this.videoDisplay != null){                                                  if(this.windowType == PlayerController.WINDOW_TYPE_FLV && this.videoDisplay != null && this.videoDisplay.videoObject != null){
1165                                                          //FLV再生か?                                                          //FLV再生か?
1166                                                            this.videoDisplay.videoObject.smoothing = true;
1167                                                                                                                    
1168                                                          if(this.videoInfoView.selectedResizeType == VideoInfoView.RESIZE_TYPE_NICO && this.videoDisplay.videoHeight > 0){                                                          if(this.videoInfoView.selectedResizeType == VideoInfoView.RESIZE_TYPE_NICO && this.videoDisplay.videoObject.videoHeight > 0){
1169                                                                                                                                    
1170                                                                  //動画の大きさがニコ動の表示窓より小さいとき && ウィンドウの大きさを動画に合わせる (動画の高さが0の時は読み込み終わっていないのでスキップ)                                                                  //動画の大きさがニコ動の表示窓より小さいとき && ウィンドウの大きさを動画に合わせる (動画の高さが0の時は読み込み終わっていないのでスキップ)
1171                                                                  var isWideVideo:Boolean = false;                                                                  var isWideVideo:Boolean = false;
1172                                                                  if(WIDE_MODE_ASPECT_RATIO < Number(this.videoDisplay.videoWidth)/Number(this.videoDisplay.videoHeight)){                                                                  if(WIDE_MODE_ASPECT_RATIO < Number(this.videoDisplay.videoObject.videoWidth)/Number(this.videoDisplay.videoObject.videoHeight)){
1173                                                                          // この動画は16:9だ                                                                          // この動画は16:9だ
1174                                                                          isWideVideo = true;                                                                          isWideVideo = true;
1175                                                                          trace("enable 16:9 mode");                                                                          trace("enable 16:9 mode");
# Line 1208  package org.mineap.nndd.player Line 1198  package org.mineap.nndd.player
1198  //                                                                      resizePlayerJustVideoSize(windowSizeRatio);  //                                                                      resizePlayerJustVideoSize(windowSizeRatio);
1199                                                                  }                                                                  }
1200                                                                                                                                    
1201                                                          }else if(this.videoInfoView.selectedResizeType == VideoInfoView.RESIZE_TYPE_VIDEO && this.videoDisplay.videoHeight > 0){                                                          }else if(this.videoInfoView.selectedResizeType == VideoInfoView.RESIZE_TYPE_VIDEO && this.videoDisplay.videoObject.videoHeight > 0){
1202                                                                                                                                    
1203                                                                  //動画の大きさにウィンドウの大きさを合わせるとき(videoHeightが0の時は動画がまだ読み込まれていないのでスキップ)                                                                  //動画の大きさにウィンドウの大きさを合わせるとき(videoHeightが0の時は動画がまだ読み込まれていないのでスキップ)
1204                                                                                                                                    
1205                                                                  videoWindowHeight = this.videoDisplay.videoHeight * ratio;                                                                  videoWindowHeight = this.videoDisplay.videoObject.videoHeight * ratio;
1206                                                                  videoWindowWidth = this.videoDisplay.videoWidth * ratio;                                                                  videoWindowWidth = this.videoDisplay.videoObject.videoWidth * ratio;
1207                                                                                                                                    
1208                                                                  this.videoDisplay.setConstraintValue("bottom", 0);                                                                  this.videoDisplay.setConstraintValue("bottom", 0);
1209                                                                  this.videoDisplay.setConstraintValue("left", 0);                                                                  this.videoDisplay.setConstraintValue("left", 0);
# Line 1442  package org.mineap.nndd.player Line 1432  package org.mineap.nndd.player
1432                   *                   *
1433                   */                   */
1434                  private function addVideoDisplayEventListeners(videoDisplay:VideoDisplay):void{                  private function addVideoDisplayEventListeners(videoDisplay:VideoDisplay):void{
1435                          videoDisplay.addEventListener(VideoEvent.PLAYHEAD_UPDATE, videoProgressHandler);                          videoDisplay.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, currentTimeChangeEventHandler);
1436                          videoDisplay.addEventListener(VideoEvent.COMPLETE, videoCompleteHandler);                          videoDisplay.addEventListener(TimeEvent.DURATION_CHANGE, durationChangeEventHandler);
1437                            videoDisplay.addEventListener(TimeEvent.COMPLETE, videoDisplayCompleteHandler);
1438                  }                  }
1439                                    
1440                  /**                  /**
# Line 1452  package org.mineap.nndd.player Line 1443  package org.mineap.nndd.player
1443                   *                   *
1444                   */                   */
1445                  private function removeVideoDisplayEventListeners(videoDisplay:VideoDisplay):void{                  private function removeVideoDisplayEventListeners(videoDisplay:VideoDisplay):void{
1446                          if(videoDisplay.hasEventListener(VideoEvent.PLAYHEAD_UPDATE)){                          if(videoDisplay.hasEventListener(TimeEvent.CURRENT_TIME_CHANGE)){
1447                                  videoDisplay.removeEventListener(VideoEvent.PLAYHEAD_UPDATE, videoProgressHandler);                                  videoDisplay.removeEventListener(TimeEvent.CURRENT_TIME_CHANGE, currentTimeChangeEventHandler);
1448                          }                          }
1449                          if(videoDisplay.hasEventListener(VideoEvent.STATE_CHANGE)){                          if(videoDisplay.hasEventListener(TimeEvent.DURATION_CHANGE)){
1450                                  videoDisplay.removeEventListener(VideoEvent.STATE_CHANGE, resizePlayerJustVideoSize);                                  videoDisplay.removeEventListener(TimeEvent.DURATION_CHANGE, durationChangeEventHandler);
1451                          }                          }
1452                          if(videoDisplay.hasEventListener(VideoEvent.COMPLETE)){                          if(videoDisplay.hasEventListener(VideoEvent.COMPLETE)){
1453                                  videoDisplay.removeEventListener(VideoEvent.COMPLETE, videoCompleteHandler);                                  videoDisplay.removeEventListener(TimeEvent.COMPLETE, videoDisplayCompleteHandler);
1454                            }
1455                    }
1456                    
1457                    /**
1458                     *
1459                     * @param event
1460                     *
1461                     */
1462                    private function durationChangeEventHandler(event:TimeEvent):void{
1463                            if(videoInfoView.isResizePlayerEachPlay){
1464                                    resizePlayerJustVideoSize(videoPlayer.nowRatio);
1465                            }else{
1466                                    resizePlayerJustVideoSize();
1467                          }                          }
1468                  }                  }
1469                                    
# Line 1589  package org.mineap.nndd.player Line 1593  package org.mineap.nndd.player
1593                   * @param evt                   * @param evt
1594                   *                   *
1595                   */                   */
1596                  private function videoProgressHandler(evt:VideoEvent = null):void{                  private function currentTimeChangeEventHandler(event:TimeEvent = null):void{
1597                          try{                          try{
1598                                  var allSec:String="00",allMin:String="0";                                  var allSec:String="00",allMin:String="0";
1599                                  var nowSec:String="00",nowMin:String="0";                                  var nowSec:String="00",nowMin:String="0";
1600                                                                    
1601                                  this.commentTimerVpos = evt.playheadTime*1000;                                  this.commentTimerVpos = event.time*1000;
1602                                                                    
1603                                  nowSec = String(int(this.videoDisplay.playheadTime%60));                                  nowSec = String(int(this.videoDisplay.currentTime%60));
1604                                  nowMin = String(int(this.videoDisplay.playheadTime/60));                                  nowMin = String(int(this.videoDisplay.currentTime/60));
1605                                                                    
1606                                  allSec = String(int(this.videoDisplay.totalTime%60));                                  allSec = String(int(this.videoDisplay.duration%60));
1607                                  allMin = String(int(this.videoDisplay.totalTime/60));                                  allMin = String(int(this.videoDisplay.duration/60));
1608                                                                    
1609                                  if(nowSec.length == 1){                                  if(nowSec.length == 1){
1610                                          nowSec = "0" + nowSec;                                          nowSec = "0" + nowSec;
# Line 1611  package org.mineap.nndd.player Line 1615  package org.mineap.nndd.player
1615                                                                    
1616                                  videoPlayer.videoController_under.slider_timeline.enabled = true;                                  videoPlayer.videoController_under.slider_timeline.enabled = true;
1617                                  videoPlayer.videoController_under.slider_timeline.minimum = 0;                                  videoPlayer.videoController_under.slider_timeline.minimum = 0;
1618                                  videoPlayer.videoController_under.slider_timeline.maximum = videoDisplay.totalTime;                                  videoPlayer.videoController_under.slider_timeline.maximum = videoDisplay.duration;
1619                                  if(!this.sliderChanging){                                  if(!this.sliderChanging){
1620                                                                                    
1621                                          this.videoPlayer.videoController.slider_timeline.maximum = videoDisplay.totalTime;                                          this.videoPlayer.videoController.slider_timeline.maximum = videoDisplay.duration;
1622                                          this.videoPlayer.videoController_under.slider_timeline.maximum = videoDisplay.totalTime;                                          this.videoPlayer.videoController_under.slider_timeline.maximum = videoDisplay.duration;
1623                                          videoPlayer.videoController_under.slider_timeline.value = videoDisplay.playheadTime;                                          videoPlayer.videoController_under.slider_timeline.value = videoDisplay.currentTime;
1624                                                                                    
1625                                  }                                  }
1626                                  videoPlayer.videoController_under.label_time.text = nowMin + ":" + nowSec + "/" + allMin + ":" + allSec;                                  videoPlayer.videoController_under.label_time.text = nowMin + ":" + nowSec + "/" + allMin + ":" + allSec;
# Line 1624  package org.mineap.nndd.player Line 1628  package org.mineap.nndd.player
1628                                                                    
1629                                  videoPlayer.videoController.slider_timeline.enabled = true;                                  videoPlayer.videoController.slider_timeline.enabled = true;
1630                                  videoPlayer.videoController.slider_timeline.minimum = 0;                                  videoPlayer.videoController.slider_timeline.minimum = 0;
1631                                  videoPlayer.videoController.slider_timeline.maximum = videoDisplay.totalTime;                                  videoPlayer.videoController.slider_timeline.maximum = videoDisplay.duration;
1632                                  if(!this.sliderChanging){                                  if(!this.sliderChanging){
1633                                          videoPlayer.videoController.slider_timeline.value = videoDisplay.playheadTime;                                          videoPlayer.videoController.slider_timeline.value = videoDisplay.currentTime;
1634                                  }                                  }
1635                                  videoPlayer.videoController.label_time.text = nowMin + ":" + nowSec + "/" + allMin + ":" + allSec;                                  videoPlayer.videoController.label_time.text = nowMin + ":" + nowSec + "/" + allMin + ":" + allSec;
1636                                  videoPlayer.videoController.slider_timeline.enabled = true;                                  videoPlayer.videoController.slider_timeline.enabled = true;
1637                          }catch(error:Error){                          }catch(error:Error){
1638                                  VideoDisplay(evt.currentTarget).stop();                                  VideoDisplay(event.currentTarget).stop();
1639                                  trace(error.getStackTrace());                                  trace(error.getStackTrace());
1640                          }                          }
1641                  }                  }
# Line 1641  package org.mineap.nndd.player Line 1645  package org.mineap.nndd.player
1645                   * @param evt                   * @param evt
1646                   *                   *
1647                   */                   */
1648                  private function videoCompleteHandler(evt:VideoEvent = null):void{                  private function videoDisplayCompleteHandler(evt:TimeEvent = null):void{
1649                                                    
1650                          if(movieEndTimer != null){                          if(movieEndTimer != null){
1651                                  movieEndTimer.stop();                                  movieEndTimer.stop();
# Line 1854  package org.mineap.nndd.player Line 1858  package org.mineap.nndd.player
1858                                  allSec = String(int(mc.totalFrames/swfFrameRate%60));                                  allSec = String(int(mc.totalFrames/swfFrameRate%60));
1859                                  allMin = String(int(mc.totalFrames/swfFrameRate/60));                                  allMin = String(int(mc.totalFrames/swfFrameRate/60));
1860                          }else if(this.windowType==PlayerController.WINDOW_TYPE_FLV && this.videoDisplay != null){                          }else if(this.windowType==PlayerController.WINDOW_TYPE_FLV && this.videoDisplay != null){
1861                                  allSec = String(int(videoDisplay.totalTime%60));                                  allSec = String(int(videoDisplay.duration%60));
1862                                  allMin = String(int(videoDisplay.totalTime/60));                                  allMin = String(int(videoDisplay.duration/60));
1863                          }                          }
1864                          if(allSec.length == 1){                          if(allSec.length == 1){
1865                                  allSec = "0" + allSec;                                  allSec = "0" + allSec;
# Line 2148  package org.mineap.nndd.player Line 2152  package org.mineap.nndd.player
2152                          trace(seekTime);                          trace(seekTime);
2153                          if(this.windowReady){                          if(this.windowReady){
2154                                  if((new Date().time)-lastSeekTime > 1000){                                  if((new Date().time)-lastSeekTime > 1000){
2155                                          if((videoDisplay != null && videoDisplay.initialized && videoDisplay.totalTime > 0) || (swfLoader != null && swfLoader.initialized)){                                          if((videoDisplay != null && videoDisplay.initialized && videoDisplay.duration > 0) || (swfLoader != null && swfLoader.initialized)){
2156                                                                                                    
2157                                                                                                    
2158                                                  trace("seekStart:" + seekTime);                                                  trace("seekStart:" + seekTime);
# Line 2162  package org.mineap.nndd.player Line 2166  package org.mineap.nndd.player
2166                                                  this.videoPlayer.videoInfoView.dataGrid_comment.verticalScrollPosition = 0;                                                  this.videoPlayer.videoInfoView.dataGrid_comment.verticalScrollPosition = 0;
2167                                                                                                    
2168                                                  if(this.windowType == PlayerController.WINDOW_TYPE_FLV){                                                  if(this.windowType == PlayerController.WINDOW_TYPE_FLV){
2169                                                          videoDisplay.playheadTime = seekTime;                                                          videoDisplay.seek(seekTime);
2170                                                          commentTimerVpos = seekTime*1000;                                                          commentTimerVpos = seekTime*1000;
2171                                                  }else if(this.windowType == PlayerController.WINDOW_TYPE_SWF){                                                  }else if(this.windowType == PlayerController.WINDOW_TYPE_SWF){
2172                                                          mc.gotoAndPlay(int(seekTime));                                                          mc.gotoAndPlay(int(seekTime));
# Line 3239  package org.mineap.nndd.player Line 3243  package org.mineap.nndd.player
3243                                          if(!file.exists){                                          if(!file.exists){
3244                                                  Alert.show(Message.M_FILE_NOT_FOUND_REFRESH + "\n" + file.nativePath, Message.M_ERROR);                                                  Alert.show(Message.M_FILE_NOT_FOUND_REFRESH + "\n" + file.nativePath, Message.M_ERROR);
3245                                                  logManager.addLog(Message.M_FILE_NOT_FOUND_REFRESH + "\n" + file.nativePath);                                                  logManager.addLog(Message.M_FILE_NOT_FOUND_REFRESH + "\n" + file.nativePath);
3246                                                  Application.application.activate();                                                  FlexGlobals.topLevelApplication.activate();
3247                                                  return;                                                  return;
3248                                          }                                          }
3249                                                                                    
# Line 3296  package org.mineap.nndd.player Line 3300  package org.mineap.nndd.player
3300                                          if(mailAddress == "" || password == ""){                                          if(mailAddress == "" || password == ""){
3301                                                  Alert.show("ニコニコ動画にログインしてください。", Message.M_ERROR);                                                  Alert.show("ニコニコ動画にログインしてください。", Message.M_ERROR);
3302                                                  logManager.addLog("ニコニコ動画にログインしてください。");                                                  logManager.addLog("ニコニコ動画にログインしてください。");
3303                                                  Application.application.activate();                                                  FlexGlobals.topLevelApplication.activate();
3304                                                  return;                                                  return;
3305                                          }                                          }
3306                                                                                    
# Line 3375  package org.mineap.nndd.player Line 3379  package org.mineap.nndd.player
3379                                                                                                    
3380                                                  Alert.show("ストリーミング再生中に予期せぬ例外が発生しました。\nError:" + e, Message.M_ERROR);                                                  Alert.show("ストリーミング再生中に予期せぬ例外が発生しました。\nError:" + e, Message.M_ERROR);
3381                                                  logManager.addLog("ストリーミング再生中に予期せぬ例外が発生しました。\nError:" + e + ":" + e.getStackTrace());                                                  logManager.addLog("ストリーミング再生中に予期せぬ例外が発生しました。\nError:" + e + ":" + e.getStackTrace());
3382                                                  Application.application.activate();                                                  FlexGlobals.topLevelApplication.activate();
3383                                                  nnddDownloaderForStreaming.close(true, true);                                                  nnddDownloaderForStreaming.close(true, true);
3384                                                  nnddDownloaderForStreaming = null;                                                  nnddDownloaderForStreaming = null;
3385                                                                                                    
# Line 3390  package org.mineap.nndd.player Line 3394  package org.mineap.nndd.player
3394                                  videoPlayer.setControllerEnable(true);                                  videoPlayer.setControllerEnable(true);
3395                                  Alert.show(url + "を再生できませんでした。\n" + error, Message.M_ERROR);                                  Alert.show(url + "を再生できませんでした。\n" + error, Message.M_ERROR);
3396                                  logManager.addLog("再生できませんでした:url=[" + url + "]\n" + error.getStackTrace());                                  logManager.addLog("再生できませんでした:url=[" + url + "]\n" + error.getStackTrace());
3397                                  Application.application.activate();                                  FlexGlobals.topLevelApplication.activate();
3398                          }                          }
3399                  }                  }
3400                                    
# Line 3519  package org.mineap.nndd.player Line 3523  package org.mineap.nndd.player
3523                   */                   */
3524                  public function loadPlayListSummry():void{                  public function loadPlayListSummry():void{
3525  //                      playListManager.readPlayListSummary(libraryManager.playListDir);  //                      playListManager.readPlayListSummary(libraryManager.playListDir);
3526                          (Application.application as NNDD).updatePlayListSummery();                          (FlexGlobals.topLevelApplication as NNDD).updatePlayListSummery();
3527                  }                  }
3528                                    
3529                  /**                  /**
# Line 3529  package org.mineap.nndd.player Line 3533  package org.mineap.nndd.player
3533                   */                   */
3534                  public function loadPlayList(index:int = -1):void{                  public function loadPlayList(index:int = -1):void{
3535  //                      playListManager.getPlay(index);  //                      playListManager.getPlay(index);
3536                          (Application.application as NNDD).updatePlayList(index);                          (FlexGlobals.topLevelApplication as NNDD).updatePlayList(index);
3537                  }                  }
3538                                    
3539                  /**                  /**
# Line 3560  package org.mineap.nndd.player Line 3564  package org.mineap.nndd.player
3564                                                    
3565                          playListManager.addNNDDVideos(index, videoArray, 0);                          playListManager.addNNDDVideos(index, videoArray, 0);
3566                                                    
3567                          (Application.application as NNDD).updatePlayList(index);                          (FlexGlobals.topLevelApplication as NNDD).updatePlayList(index);
3568                          (Application.application as NNDD).updatePlayListSummery();                          (FlexGlobals.topLevelApplication as NNDD).updatePlayListSummery();
3569                                                    
3570                          return title;                          return title;
3571                  }                  }
# Line 3586  package org.mineap.nndd.player Line 3590  package org.mineap.nndd.player
3590                                                                    
3591                                  playListManager.updatePlayList(title, vector);                                  playListManager.updatePlayList(title, vector);
3592                                                                    
3593                                  (Application.application as NNDD).updatePlayListSummery();                                  (FlexGlobals.topLevelApplication as NNDD).updatePlayListSummery();
3594                                  (Application.application as NNDD).updatePlayList(index);                                  (FlexGlobals.topLevelApplication as NNDD).updatePlayList(index);
3595                                                                    
3596                          }                          }
3597                  }                  }
# Line 3675  package org.mineap.nndd.player Line 3679  package org.mineap.nndd.player
3679                                                    
3680                          if(videoId != null){                          if(videoId != null){
3681                                  var video:NNDDVideo = new NNDDVideo(WatchVideoPage.WATCH_VIDEO_PAGE_URL + videoId, this.videoPlayer.title);                                  var video:NNDDVideo = new NNDDVideo(WatchVideoPage.WATCH_VIDEO_PAGE_URL + videoId, this.videoPlayer.title);
3682                                  Application.application.addDownloadListForInfoView(video);                                  (FlexGlobals.topLevelApplication as NNDD).addDownloadListForInfoView(video);
3683                                  logManager.addLog("InfoViewからDLリストへ追加:" + video.getDecodeUrl());                                  logManager.addLog("InfoViewからDLリストへ追加:" + video.getDecodeUrl());
3684                          }else{                          }else{
3685                                  Alert.show("動画IDが見つからないため、DLリストに追加できませんでした。", Message.M_ERROR);                                  Alert.show("動画IDが見つからないため、DLリストに追加できませんでした。", Message.M_ERROR);
# Line 3700  package org.mineap.nndd.player Line 3704  package org.mineap.nndd.player
3704                   */                   */
3705                  public function addMyList(myListId:String):void{                  public function addMyList(myListId:String):void{
3706                          var videoTitle:String = videoPlayer.title;                          var videoTitle:String = videoPlayer.title;
3707                            var videoId:String = PathMaker.getVideoID(videoTitle);
3708                                                    
3709                          logManager.addLog("***マイリストへの追加***");                          if(PlayerMylistAddr.instance.isAdding){
3710                                                            PlayerMylistAddr.instance.addMyList(this.mailAddress, this.password, myListId, videoId, videoTitle);
                         if(this._myListAdder == null){  
                                   
                                 if(myListId == null || myListId == ""){  
                                         Alert.show("マイリストが選択されていません。", Message.M_ERROR);  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Application.application.activate();  
                                         return;  
                                 }  
                                 if(this.mailAddress == null || this.mailAddress == "" || this.password == null || this.password == ""){  
                                         Alert.show("ニコニコ動画にログインできません。ユーザー名とパスワードを設定してください。");  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Application.application.activate();  
                                         return;  
                                 }  
                                 var videoId:String = PathMaker.getVideoID(videoTitle);  
                                 if(videoId == null){  
                                         Alert.show("動画のIDが取得できませんでした。動画を再生し直した後、もう一度試してみてください。", Message.M_ERROR);  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Application.application.activate();  
                                         return;  
                                 }  
                                   
                                 this._myListAdder = new NNDDMyListAdder(this.logManager);  
                                   
                                 this._myListAdder.addEventListener(NNDDMyListAdder.ADD_MYLIST_SUCESS, function(event:Event):void{  
                                         logManager.addLog("次の動画をマイリストに追加:" + videoTitle);  
                                         logManager.addLog("***マイリストへの追加成功***");  
                                         var text:String = "次の動画をマイリストに追加しました。\n" + videoTitle;  
                                         var alert:Alert = Alert.show(text, Message.M_MESSAGE);  
                                         var timer:Timer = new Timer(1000, 5);  
                                         timer.addEventListener(TimerEvent.TIMER_COMPLETE, function(event:TimerEvent):void{  
                                                 if(alert != null && alert.isPopUp){  
                                                         PopUpManager.removePopUp(alert);  
                                                 }  
                                         });  
                                         _myListAdder.close();  
                                         _myListAdder = null;  
                                 });  
                                 this._myListAdder.addEventListener(NNDDMyListAdder.ADD_MYLIST_DUP, function(event:Event):void{  
                                         logManager.addLog("次の動画はすでにマイリストに登録済:" + videoTitle);  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Alert.show("次の動画は既にマイリストに追加されています。\n" + videoTitle, Message.M_MESSAGE);  
                                         _myListAdder.close();  
                                         _myListAdder = null;  
                                 });  
                                 this._myListAdder.addEventListener(NNDDMyListAdder.ADD_MYLIST_NOT_EXIST, function(event:Event):void{  
                                         logManager.addLog("次の動画は存在しない:" + videoTitle);  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Alert.show("次の動画をマイリストに追加しようとしましたが、動画が存在しませんでした。\n" + videoTitle, Message.M_MESSAGE);  
                                         _myListAdder.close();  
                                         _myListAdder = null;  
                                 });  
                                 this._myListAdder.addEventListener(NNDDMyListAdder.ADD_MYLSIT_FAIL, function(event:ErrorEvent):void{  
                                         logManager.addLog("マイリストへの登録に失敗:" + videoTitle + ":" + event);  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Alert.show("マイリストへの登録に失敗\n" + event, Message.M_ERROR);  
                                         Application.application.activate();  
                                         _myListAdder.close();  
                                         _myListAdder = null;  
                                 });  
                                 this._myListAdder.addEventListener(NNDDMyListAdder.LOGIN_FAIL, function(event:Event):void{  
                                         logManager.addLog("マイリストへの登録に失敗:" + videoTitle + ":" + event);  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Alert.show("マイリストへの登録に失敗\n" + event, Message.M_ERROR);  
                                         Application.application.activate();  
                                         _myListAdder.close();  
                                         _myListAdder = null;  
                                 });  
                                 this._myListAdder.addEventListener(NNDDMyListAdder.GET_MYLISTGROUP_FAIL, function(event:Event):void{  
                                         logManager.addLog("マイリストへの登録に失敗:" + videoTitle + ":" + event);  
                                         logManager.addLog("***マイリストへの追加失敗***");  
                                         Alert.show("マイリストへの登録に失敗\n" + event, Message.M_ERROR);  
                                         Application.application.activate();  
                                         _myListAdder.close();  
                                         _myListAdder = null;  
                                 });  
                                   
                                 _myListAdder.addMyList("http://www.nicovideo.jp/watch/" + videoId, myListId, this.mailAddress, this.password);    
                                   
3711                          }else{                          }else{
3712                                                                    PlayerMylistAddr.instance.close();
                                 logManager.addLog("マイリストへの登録をキャンセル:" + videoTitle);  
                                 logManager.addLog("***マイリストへの追加失敗***");  
                                   
                                 try{  
                                         _myListAdder.close();  
                                 }catch(error:Error){  
                                         trace(error.getStackTrace());  
                                 }  
                                 _myListAdder = null;  
3713                          }                          }
3714                                                    
3715                  }                  }
3716                                    
                   
3717                  /**                  /**
3718                   *                   *
3719                   * @param isVisible                   * @param isVisible
# Line 3809  package org.mineap.nndd.player Line 3725  package org.mineap.nndd.player
3725                          }                          }
3726                  }                  }
3727                                    
                 /**  
                  * 現在再生しているコメントに日付情報を付加して退避します。  
                  *  
                  */  
                 public function saveComment():void{  
                           
                           
                           
                 }  
3728                                    
3729                  /**                  /**
3730                   *                   *

Legend:
Removed from v.370  
changed lines
  Added in v.381

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26