2011-01-21 5 views
0

Actionscript 3/Flash 10에서 타임 라인에있는 사운드 객체를 프로그래밍 방식으로 참조 할 수 있습니까? 다음 sytax를 통해 DisplayObjects를 참조하는 많은 예제를 발견했습니다.actionscript를 통해 타임 라인의 기존 사운드 객체를 참조 3

var m:MovieClip = stage.getChildByName("SomeMovieClipClass"); 
var n:MovieClip = stage.getChildByIndex(1); 

그러나 사운드 객체가 포함되지 않은 것 같습니다. 그 보이더라도 내가 이상적으로 특정 계층에서 (사운드 클립을 참조하고 싶습니다,하지만 내 목적을 위해

var s:SoundClip1 = new SoundClip1(); // exported in first frame via properties 
s.play(); 

: 마찬가지로, 인스턴스화 및 액션 스크립트를 통해 라이브러리에있는 사운드를 재생하기 위해 간단 보인다 설계자가 타임 라인에서 조정하고 조정 한 사항이므로 런타임에 코드를 통해 파형을 검사 할 수 있습니다. 다음과 같이 입력하십시오 :

// Imaginary Code 
sc = timeline.getSoundClipByName("SoundClip1"); 
sc.extract(waveform,sc.length/1000 * bitrate); 

이게 가능합니까? 감사!

답변

1

현재이 타임 라인 사운드로 생성 된 soundChannel에는 액세스 할 수 없습니다. 구현 된 것을보고 싶습니다.

나는 computeSpectrum을 사용하여 타임 라인 사운드의 파형을 얻을 수있는 가능성을 테스트하려고했으나 현재 mp3를 가져 오는 데 문제가 있습니다. 개념의 직접 증거가없는 경우, 나는 주위 검색이 스레드 발견

http://www.kirupa.com/forum/showthread.php?t=329632

이 당신이 명확하게하는 것을 허용하지 않습니다

http://www.mail-archive.com/[email protected]/msg43157.html

그러나 물론

이 솔루션에 대한 링크 다른 타임 라인 사운드간에 나는 당신이 그것을 전혀 할 수 없을 것이라고 확신합니다.

Sound.extract()를 사용 해본 적이 없지만 fla 라이브러리에 사운드가있는 경우 클래스 이름을 지정하고 런타임에 extract()를 사용하여 자기 목적? 그런 다음 적절한 타임 라인 사운드가 재생 될 때마다 Sound 객체에서 파형을 탭할 수 있습니다. 아마도 타임 라인 콜백이나 이벤트로 충분할 것입니까?

+0

놀랍게도 사운드를 클래스에 제공하면 타임 라인에서 사운드가 시작될 때 생성자가 호출되지 않습니다. 이것이 왜 그런지 이해할 수 없으므로 해결 방법으로 타임 라인에서 사운드가 시작될 때마다 actionscript 행을 호출합니다. 그것은 꽤 아니지만, 당분간은 일하고 있습니다. – pho79

+0

어쨌든 그것은 나를 놀라게하지 않습니다. 나는 그것이 소리 일 때 swf 자체가 만들어 졌다고 의심하여 ​​확실히 말할 수 없다. "소리"는 soundChannel 객체이며, 의미있는 방식으로 SoundChannel을 확장 할 방법이 없습니다 (따라서 인스턴스화를 추적 할 방법이 없습니다). – scriptocalypse

관련 문제