플래시 동영상에 소리도 포함(재생)하는지 감지할 수 있나요?

StackOverflow https://stackoverflow.com/questions/43503

  •  09-06-2019
  •  | 
  •  

문제

플래시 동영상에 소리가 포함되어 있는지 또는 음악이 재생되고 있는지 감지할 수 있는 방법이 있습니까?
웹 브라우저(액션스크립트) 내에서 이 작업을 수행할 수 있다면 좋을 것입니다. 다른 플래시 개체에서, 자바스크립트,..)를 수행할 수 있습니다. ~ 전에 플래시 동영상이 재생되기 시작합니다.

그러나 이것이 완전히 가능할지는 의심스럽기 때문에 다른 (프로그래밍 가능한) 솔루션도 높이 평가됩니다.

도움이 되었습니까?

해결책

예, 물론 서버 측에서요.고객 입장에서?모르겠습니다.(저는 서버사이드 스타일의 사람입니다.)

서버 측에서는 파일을 구문 분석하고, 헤더를 읽고, 오디오 프레임을 찾아야 합니다.(저는 색인 생성을 위해 Haskel FLV 파서를 Java로 이식했으며, 다른 구문 분석 유틸리티도 있습니다.것이 가능하다.)

osflash.org의 FLV 페이지 피투성이의 세부 사항이 있습니다.FLV 형식 섹션의 FLV 헤더 표를 확인하세요.

FIELD       DATA TYPE      EXAMPLE                  DESCRIPTION
 Signature   byte[3]        “FLV”                    Always “FLV”
 Version     uint8          “\x01” (1)               Currently 1 for known FLV files
 Flags       uint8 bitmask  “\x05” (5, audio+video)  Bitmask: 4 is audio, 1 is video
 Offset      uint32-be      “\x00\x00\x00\x09” (9)   Total size of header (always 9 for known FLV files) 

편집하다:Flash를 사용한 클라이언트 측 코딩은 존재하지 않지만 코드에서 포착할 수 있는 onMetaDataLoad 이벤트가 있다고 생각합니다.그것은 당신에게 조금 늦게 일어날 수도 있지만 어쩌면 그것만으로도 충분할까요?

다른 팁

FLV 비디오 파일이나 SWF와 같은 Flash "영화"에 대해 문의하고 계십니까?

명확히 말하면 FLV는 Flash 비디오 형식(또는 약어가 무엇이든)이고 일반 Flash 동영상/응용 프로그램/배너는 SWF입니다.이는 매우 다른 파일 형식입니다.

와 더불어 바이트 배열 당신은 당신이 원하는 것을 거의 할 수 있습니다.재생을 시작하기 전에 FLV 헤더의 바이트를 분석하여(byteArray.readByte() 사용 및 사양 참조) 오디오 플래그가 켜져 있는지 확인할 수 있습니다.FLV 헤더는 거의 즉시 로드되므로 사용자에게 불편한 지연이 발생하지 않습니다.

SWF를 사용하면 훨씬 더 까다로워집니다. SWF가 어딘가에서 오디오를 재생하는지 미리 확인할 수 있는 쉬운 방법은 없다고 확신합니다.이를 수행하는 방법은 SWF가 라이브러리에 정의한 자산을 살펴보는 것입니다. 그런 다음 SWF는 외부 오디오 파일을 로드할 수도 있습니다(또는 일부 핵이나 Flash Player 10의 새로운 API를 사용하여 생성할 수도 있습니다).SWF가 사용자가 제출한 것(또는 즉시 통제할 수 없는 유사한 것)인 경우 이는 위험한 길이라고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top