@@ -171,54 +171,59 @@ package {
171171 }
172172
173173 private function playerPlay (url :String = null ):void {
174- if (! mediaElement) {
175- if (isLive ) {
176- urlResource = new StreamingURLResource(url , StreamType. LIVE );
177- } else {
178- urlResource = new StreamingURLResource(url , StreamType. RECORDED );
179- }
174+ try {
175+ if (! mediaElement) {
176+ if (isLive ) {
177+ urlResource = new StreamingURLResource(url , StreamType. LIVE );
178+ } else {
179+ urlResource = new StreamingURLResource(url , StreamType. RECORDED );
180+ }
180181
181- var startLevel: int = int (this . root . loaderInfo . parameters . startLevel);
182+ var startLevel: int = int (this . root . loaderInfo . parameters . startLevel);
182183
183- if (startLevel > - 1 ) {
184- urlResource. addMetadataValue(MetadataNamespaces. RESOURCE_INITIAL_INDEX , startLevel);
185- }
184+ if (startLevel > - 1 ) {
185+ urlResource. addMetadataValue(MetadataNamespaces. RESOURCE_INITIAL_INDEX , startLevel);
186+ }
186187
187- var pluginResource: MediaResourceBase = new PluginInfoResource(new SMILPluginInfo());
188+ var pluginResource: MediaResourceBase = new PluginInfoResource(new SMILPluginInfo());
188189
189- // Load the plugin.
190- mediaFactory. loadPlugin(pluginResource);
190+ // Load the plugin.
191+ mediaFactory. loadPlugin(pluginResource);
191192
192- //create new MediaPlayer - it controls your media provided in media property
193- mediaPlayer = new MediaPlayer();
193+ //create new MediaPlayer - it controls your media provided in media property
194+ mediaPlayer = new MediaPlayer();
194195
195- mediaPlayer. bufferTime = this . root . loaderInfo . parameters . bufferTime ;
196- mediaPlayer. autoPlay = false ;
197- mediaPlayer. autoDynamicStreamSwitch = startLevel == - 1 ;
198- mediaPlayer. addEventListener (TimeEvent. CURRENT_TIME_CHANGE , onTimeUpdated);
199- mediaPlayer. addEventListener (TimeEvent. DURATION_CHANGE , onTimeUpdated);
200- mediaPlayer. addEventListener (TimeEvent. COMPLETE , onFinish);
201- mediaPlayer. addEventListener (MediaErrorEvent. MEDIA_ERROR , onMediaError);
202- mediaPlayer. addEventListener (DynamicStreamEvent. SWITCHING_CHANGE , onLevelSwitching);
196+ mediaPlayer. bufferTime = this . root . loaderInfo . parameters . bufferTime ;
197+ mediaPlayer. autoPlay = false ;
198+ mediaPlayer. autoDynamicStreamSwitch = startLevel == - 1 ;
199+ mediaPlayer. addEventListener (TimeEvent. CURRENT_TIME_CHANGE , onTimeUpdated);
200+ mediaPlayer. addEventListener (TimeEvent. DURATION_CHANGE , onTimeUpdated);
201+ mediaPlayer. addEventListener (TimeEvent. COMPLETE , onFinish);
202+ mediaPlayer. addEventListener (MediaErrorEvent. MEDIA_ERROR , onMediaError);
203+ mediaPlayer. addEventListener (DynamicStreamEvent. SWITCHING_CHANGE , onLevelSwitching);
203204
204- mediaElement = mediaFactory. createMediaElement(urlResource);
205- mediaElement. addEventListener (MediaElementEvent. TRAIT_ADD , onTraitAdd);
205+ mediaElement = mediaFactory. createMediaElement(urlResource);
206+ mediaElement. addEventListener (MediaElementEvent. TRAIT_ADD , onTraitAdd);
206207
207- mediaContainer. addMediaElement(mediaElement);
208+ mediaContainer. addMediaElement(mediaElement);
208209
209- mediaPlayer. media = mediaElement;
210+ mediaPlayer. media = mediaElement;
210211
211- //Set the player scaling
212- playerScaling(this . root . loaderInfo . parameters . scaling);
212+ //Set the player scaling
213+ playerScaling(this . root . loaderInfo . parameters . scaling);
213214
214- addChild (mediaContainer);
215- resize();
215+ addChild (mediaContainer);
216+ resize();
216217
217- playbackState = "PLAYING_BUFFERING" ;
218+ playbackState = "PLAYING_BUFFERING" ;
219+ _triggerEvent ('statechanged' );
220+ _triggerEvent ('playbackready' );
221+ } else {
222+ mediaPlayer. play ();
223+ }
224+ } catch {
225+ playbackState = "ERROR" ;
218226 _triggerEvent ('statechanged' );
219- _triggerEvent ('playbackready' );
220- } else {
221- mediaPlayer. play ();
222227 }
223228 }
224229
0 commit comments