Flex 4中如何检测Spark VideoPlayer载入多媒体文件时是否发生错误的例子

By Minidxer | December 16, 2009

接下来的例子演示了Flex 4中如何通过监测mediaPlayerStateChange事件以及检查playbackError的状态, 检测Spark VideoPlayer载入多媒体文件时是否发生错误。



下面是main.mxml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Application name="Spark_VideoPlayer_mediaPlayerStateChange_playbackError_test"
  3.         xmlns:fx="http://ns.adobe.com/mxml/2009"
  4.         xmlns:s="library://ns.adobe.com/flex/spark">
  5.     <s:controlBarContent>
  6.         <s:Button label="Good source" click="vidPlyr.source = goodStream;" />
  7.         <s:Button label="Bad source" click="vidPlyr.source = badStream;" />
  8.     </s:controlBarContent>
  9.  
  10.     <fx:Script>
  11.         <![CDATA[
  12.             import mx.controls.Alert;
  13.             import org.osmf.events.MediaPlayerStateChangeEvent;
  14.             import org.osmf.media.MediaPlayerState;
  15.  
  16.             protected function vidPlyr_mediaPlayerStateChangeHandler(evt:MediaPlayerStateChangeEvent):void {
  17.                 switch (evt.state) {
  18.                     case MediaPlayerState.LOADING:
  19.                         vidPlyr.errorString = "";
  20.                         break;
  21.                     case MediaPlayerState.PLAYBACK_ERROR:
  22.                         Alert.show("Unable to load video", evt.state);
  23.                         vidPlyr.errorString = "Unable to load video";
  24.                         break;
  25.                 }
  26.             }
  27.         ]]>
  28.     </fx:Script>
  29.  
  30.     <fx:Declarations>
  31.         <s:DynamicStreamingVideoSource id="goodStream" host="rtmp://fmsexamples.adobe.com/vod/" streamType="recorded">
  32.             <s:DynamicStreamingVideoItem streamName="mp4:_cs4promo_1000.f4v" />
  33.         </s:DynamicStreamingVideoSource>
  34.  
  35.         <s:DynamicStreamingVideoSource id="badStream" host="rtmp://fmsexamples.adobe.com/vod/" streamType="recorded">
  36.             <s:DynamicStreamingVideoItem streamName="mp4:_cs4promo_404_1000.f4v" />
  37.         </s:DynamicStreamingVideoSource>
  38.     </fx:Declarations>
  39.  
  40.     <s:VideoPlayer id="vidPlyr"
  41.             loop="true"
  42.             muted="true"
  43.             left="100" right="100"
  44.             top="100" bottom="100"
  45.             horizontalCenter="0" verticalCenter="0"
  46.             mediaPlayerStateChange="vidPlyr_mediaPlayerStateChangeHandler(event);" />
  47.  
  48. </s:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Gumbo, VideoPlayer | 2 Comments » | 604 views Tags: , , ,

Search Posts