 		override protected function doResume():void {
 			super.doResume();
 			if (_channel) {
-				const transform:SoundTransform = _channel.soundTransform;
-
-				_channel = _sound.play(_pausePosition, 1, transform);
-				_channel.addEventListener(Event.SOUND_COMPLETE, handleSoundComplete);
-
-				if (_end != 0) {
-					_endTask = GlobalTimeline.schedule(_end - _restart, handleEnd);
+				try {
+					var transform:SoundTransform = _channel.soundTransform;
+					
+					_channel = _sound.play(_pausePosition, 1, transform);
+					_channel.addEventListener(Event.SOUND_COMPLETE, handleSoundComplete);
+					
+					if (_end != 0) {
+						_endTask = GlobalTimeline.schedule(_end - _restart, handleEnd);
+					}
+				}
+				catch (e:Error) {
+					handleEnd();
 				}
 			}
 		}


		private function handleEnd():void {
			if (_loop) {
				const transform:SoundTransform = _channel.soundTransform;

				_channel.removeEventListener(Event.SOUND_COMPLETE, handleSoundComplete);
				_channel.stop();


		override protected function applyVolume():void {
			if (_channel) {
				var transform:SoundTransform = _channel.soundTransform;
				transform.volume = realVolume;
				_channel.soundTransform = transform;
			}
