2014-01-30 1 views
0

저는 비디오 플레이어에서 작업 중이며 flashvars에 몇 가지 문제가 있습니다. 이것은 내 플래시 바를 정의하는 방법입니다.날짜 유형이 "정의되지 않음"과 같습니다.

var beginLive:Date = getFlashVar('beginLive', "undefined"); 
var endLive:Date = getFlashVar('endLive', "undefined"); 

그 바의 값 (타임 스탬프)을 검색해야합니다. 필자의 함수는 초를 초/분/시간으로 변환하려고합니다 -> 스트림의 예상 지속 시간을 계산합니다.

이 내 getFlashVar 기능입니다 :

//return the content for the flashvar specified by varName, if found, otherwise return the defaultvalue specified 

    function getFlashVar(varName:String, defaultValue:String):String { 
     var result:String = defaultValue; 
     if (undefined != paramsArray[varName] && '' != paramsArray[varName]) { 
      result = paramsArray[varName] ; 
      //ExternalInterface.call("displayVar", paramsArray); 
     } 
     return result; 
    } 

내 문제는 내가이 "정의되지 않은"그러나 그들은 Date 형의이고 "정의되지 않은"beginLive 및 endLive를 초기화해야한다는 것입니다 문자열입니다.

날짜 유형에 "정의되지 않음"과 동일한 의미가 있습니까? 어떻게 이러한 vars를 초기화하고 호환되지 않는 유형에 대해 불평하는 플래시를 피할 수 있습니까?

답변 해 주셔서 감사합니다. :)

레아.

+0

어떻게'null'에 대한

public static function parseDateFromString(value:String):Date { var dateObject:Number = Date.parse(value); if (isNaN(dateObject)) { return undefined; } return new Date(dateObject); } 

는이 같은 parseDateFromStringgetFlashVar에서 반환 값을 전달 사용하려면? –

+0

또는'undefined' (문자열이 아님)? –

+0

안녕하세요, 나를 대답 해 주셔서 감사합니다 :). 둘 다 작동하지 않습니다. 오류 1176 (오류 # 1176 : 정적 유형 문자열과 값과 비 관련 유형 int 사이의 비교) 오류가 여전히 있습니다. – Daelis

답변

0

getFlashVar 함수의 결과 문자열을 Date 개체로 구문 분석하려고하는 편리한 메서드를 추가 할 수 있습니다. 입력 문자열이 날짜로 파싱 될 수 있으면 Date 객체를 반환하고 그렇지 않으면 undefined을 반환합니다.

var beginLive:Date = parseDateFromString(getFlashVar('beginLive', "undefined")); 
var endLive:Date = parseDateFromString(getFlashVar('endLive', "undefined")); 

예 출력 :

trace(parseDateFromString("01/30/2014")); // Thu Jan 30 00:00:00 GMT+0100 2014 (Date object) 
trace(parseDateFromString("undefined")); // null (actually undefined)