src/it/ht/rcs/console/operations/view/evidences/renderers/Mic.mxml
<?xml version="1.0" encoding="utf-8"?>
<renderers:EvidenceDataRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:renderers="it.ht.rcs.console.operations.view.evidences.renderers.*"
focusOut="onFocusOut()"
focusIn="onFocusIn()"
width="100%">
<fx:Script>
<![CDATA[
import it.ht.rcs.console.DB;
import it.ht.rcs.console.evidence.controller.EvidenceManager;
import flashx.textLayout.conversion.TextConverter;
import it.ht.rcs.console.utils.TimeUtils;
import locale.R;
private var _sound:Sound;
private var _channel:SoundChannel;
private var _playingTime:int;
private var _pausePoint:Number=0;
private var _isPlaying:Boolean=false;
private var _isLoaded:Boolean=false;
private var _url:String;
private var _hasFocus:Boolean;
private var _duration:Number;
private var _position:Number;
[Bindable]
[Embed(source="/img/mediaplayers/recording.swf")]
public var RecordingIcon:Class;
[Bindable]
private var url:String;
[Bindable]
override public function set data(value:*):void
{
super.data=value;
miniPlayer.reset();
var id:String=encodeURIComponent(data.data._grid);
var target:String=encodeURIComponent(EvidenceManager.instance.evidenceFilter.target);
url=DB.hostAutocomplete(Console.currentSession.server) + "grid/" + id + "?target_id=" + target;
dataTxt.textFlow=TextConverter.importToFlow("<b>"+R.get('DURATION')+": </b>"+TimeUtils.formatTime(data.data.duration*1000), TextConverter.TEXT_FIELD_HTML_FORMAT);
miniPlayer.urlTxt.text=url;
recordingBox.visible=false;
if (data.data.status == "recording")
{
recordingBox.visible=true;
}
}
private function onFocusOut():void
{
miniPlayer.hasFocus=false;
}
private function onFocusIn():void
{
miniPlayer.hasFocus=true;
}
private function onPlay():void
{
var id:String=encodeURIComponent(data.data._grid);
var target:String=encodeURIComponent(EvidenceManager.instance.evidenceFilter.target);
url=DB.hostAutocomplete(Console.currentSession.server) + "grid/" + id + "?target_id=" + target;
miniPlayer.loadSound(url)
}
]]>
</fx:Script>
<s:VGroup verticalAlign="middle"
height="100%"
width="100%">
<s:HGroup>
<s:RichText id="dataTxt"/>
<s:Spacer width="100%"/>
<s:HGroup id="recordingBox"
horizontalAlign="right"
visible="false">
<s:SWFLoader source="{RecordingIcon}"/>
<s:Label text="Recording..."/>
</s:HGroup>
</s:HGroup>
<s:Line width="100%">
<s:stroke>
<s:SolidColorStroke color="0xCCCCCC"/>
</s:stroke>
</s:Line>
<renderers:SoundMiniPlayer id="miniPlayer" play="onPlay()"/>
</s:VGroup>
</renderers:EvidenceDataRenderer>