AS3.0 Cookbook/사운드 프로그래밍

사운드 프로그래밍

버터백통 2008. 8. 16. 11:30
AS3로 사운드 관련 작업을 하려면 우선 사운드를 가져올 수 있는 Sound클래스가 필요하다.
Sound객체는 mp3파일의 스트림을 열거나 닫을 수 있으며 사운드의 크기나 ID3관련 정보들을 취득할 수 있습니다. 그리고 SoundChannel 클래스는 사운드의 스트림의 재생관련(재생헤드)이나 사운드 정지(스트림 중단은 Sound객체) 오른쪽과 왼쪽 볼룸조절을 할 수 있으며, 좌우볼륨을 조절 할 수 있는 SoundTransform 객체를 포함하고 있습니다.
SoundTransform 는 볼륨이나 Pan에 대한 속성을 가지고 있습니다. 또한 플레이어에서 다루는 모든 사운드 채널은 SoundMixer를 걸치게 되어있다. SoundMixer는 모든 사운드 정지나 스펙트럼 등의 작업을 할 수 있다.

[ 사운드 관련 객체들의 개념 정리 ]
Sound : 외부 사운드 파일을 스트림 재생 , 스트림 중단(닫기), 파일관련 정보나 스트림관련 이벤트 발생

SoundChannel : 관련된 Sound객체의 사운드 재생,정지,왼쪽/오른쪽 볼륨담당 , soundTransform속성을 사용

SoundTransform : 사운드의 불륨 , 왼쪽/오른쪽 패닝 등 사운드 변형 담당, 값은 SoundChannel 의 속성
                              soundTransform에 대입

SoundMixer : 플래시 플레이어 무비에서 스피커로 전달되는 통로, 모든 사운드 채널관리(모두 정지) , 스펙트럼

이처럼 사운드 변형을 하기 위해 많은 클래스들이 필요하다...간단히 스트림파일 접근객체, 재생/정지클래스 , 볼륨 및 패닝 클래스 등으로 역할이 정확이 분리되어 있으면 좋겠는데 그러자면 몇가지 간단한 작업을 하고 싶은데 어마어마한 기능의 클래스를 생성하기 때문에 저렇게 기능이 조금씩 섞여있는 것인지는 모르겠지만 사용하기 편한 클래스들은 아닌것 같다.