2009-12-10 2 views

답변

4

Flash Player 10을 단독 또는 그 이하 버전으로 타겟팅하고 있습니까? Flash Player (9 등)의 낮은 버전은 업로드 SWF가 creationDate, creator (파일의 Macintosh 작성자 유형), modificationDate, 이름, 크기 (바이트 및 유형)를 제외하고 파일의 내용을 읽을 수 없으므로 당신이 그 선수들에게 이것을 할 수있는 방법이 없습니다. 당신이 전적으로 FP10 사용자를 대상으로하는 경우

, 당신은 FLV 플레이어를 사용하여 플레이하여 SWF에서 ByteArray

  1. 에 FLV를 load 플레이어에서 기간 속성을 읽을 수 있습니다. 그러나 나는 ByteArray을 입력으로 사용하는 FLV 플레이어를 찾을 수 없었습니다. 그리고 this thread을 읽은 후에는 그렇게 할 수없는 것처럼 보입니다.
  2. FLV 파일을 구문 분석하고 해당 메타 데이터에서 duration 속성을 읽습니다. FLV file specification은 공개되었지만 이는 쉽지 않습니다. 주석에

업데이트 : FLV 파일 스펙에서
발췌 :

onMetaData에
FLV 파일은 는 "onMetaData에"마커 메타 데이터가 포함되어 있습니다. 다양한 스트림 속성 은 NetStream.onMetaData 속성을 통해 실행중인 ActionScript 프로그램에서 사용할 수 있습니다. 사용 가능한 속성은 사용되는 소프트웨어에 따라 다릅니다.
일반적인 속성을 포함한다 :

  • duration하십시오 더블
  • width초의 파일의 총 길이를 나타내는하십시오 이단
  • height 화소
  • 에서 영상의 폭을 나타내는하십시오 DOUBLE를 나타내는 비디오의 높이 (픽셀 단위)
  • videodatarate : 비디오 비트 전송률을 킬로 비트/초 단위로 나타내는 DOUBLE
  • ,하십시오 DOUBLE 두번째
  • videocodecid 당 프레임의 수를 나타내는하십시오 DOUBLE 파일에 사용되는 비디오 코덱 ID를 나타내는
  • audiosamplerate (로모 CodecID 값은 8 페이지 "비디오 태그"참조)하십시오 DOUBLE을 나타내는 오디오 스트림 가
  • audiosamplesize
  • 을 재생되는 빈도 : 한 더블
  • stereo 단일 오디오 샘플 해상도를 나타내는하십시오 BOOL 데이터가 입체인지의 여부를 나타내는
  • audiocodecid 하십시오 DOUBLE 파일에 사용 된 오디오 코덱의 ID를 나타내는
  • filesize (로모 SoundFormat 값 6 페이지 "오디오 태그"참조)하십시오 DOUBLE 바이트
의 파일의 전체 크기를 나타내는

FLV 파일에 메타 데이터가 포함될 수 있습니다. 메타 데이터가 포함될 것이라고는 말하지 않습니다. 또한 사용 가능한 속성은 FLV를 만드는 데 사용 된 소프트웨어에 따라 다를 수 있다고 말합니다. 그래서 나는 duration 속성이 존재한다는 보장 (사양에 따라)이 없다고 생각합니다. 즉, duration은 FLV의 기본 속성 중 하나이며 모든 합리적인 소프트웨어가 FLV를 포함한다고 가정하는 것이 안전 할 것입니다.

+0

대단히 감사합니다. 나는 그들이 길이에 대한 메타 데이터가 존재하지 않는 경우가 될 수 있는지 궁금하네요. 이 문제가 발생했거나 데이터를 항상 사용할 수 있다고 가정하는 것이 안전합니까? – Chin

+0

다시 한번 감사드립니다. 혹시 파트 타임 플렉스 또는. NET 작업이 필요하시면 알려주십시오. – Chin

1

Netstream.appendBytes을 사용하면 동영상 재생에 사용되는 NetStream으로 FileReference.data (업로드 호출 전에 탐색)를 제공 할 수 있습니다. 이 스레드의 다른 부분에서 설명한 것처럼 메타 데이터에서 기간을 가져올 수 있습니다. 이 방법에는 최소한 Flash Player 10이 필요합니다.

관련 문제