사운드 아키텍처의 이해
Flash Player 9 이상, Adobe AIR 1.0 이상
응용 프로그램은 다음과 같은 5가지 소스로부터 사운드 데이터를 로드할 수 있습니다.
런타임에 로드된 외부 사운드 파일
응용 프로그램의 SWF 파일에 포함된 사운드 리소스
사용자의 시스템에 연결된 마이크로부터 입력된 사운드 데이터
Flash Media Server 등의 원격 미디어 서버로부터 스트리밍된 사운드 데이터
sampleData 이벤트 핸들러를 사용하여 동적으로 생성되는 사운드 데이터
사운드 데이터는 완전히 로드된 후에 재생되거나 스트리밍(로드 중 재생)될 수 있습니다.
ActionScript 3.0 사운드 클래스는 mp3 형식으로 저장된 사운드 파일을 지원합니다. WAV, AIFF 등의 다른 형식으로 된 사운드 파일은 직접 로드하거나 재생할 수 없습니다. 그러나 Flash Player 9.0.115.0부터는 NetStream 클래스를 사용하여 AAC 오디오 파일을 로드하고 재생할 수 있습니다. 이는 비디오 내용을 로드하고 재생하는 데 사용되는 것과 동일한 방법입니다. 이 방법에 대한 자세한 내용은 비디오를 사용한 작업을 참조하십시오.
Adobe Flash Professional을 사용하면 WAV 또는 AIFF 사운드 파일을 가져와서 이 파일을 mp3 형식으로 사용자 응용 프로그램의 SWF 파일에 포함할 수 있습니다. Flash 제작 도구를 사용하면 포함된 사운드 파일을 압축하여 파일 크기를 줄일 수도 있습니다. 단, 파일 크기가 작아지면 사운드 품질이 저하됩니다. 자세한 내용은 Flash 사용의 "사운드 가져오기"를 참조하십시오.
ActionScript 3.0 사운드 아키텍처는 flash.media 패키지에 있는 다음 클래스를 사용합니다.
클래스
|
설명
|
flash.media.Sound
|
Sound 클래스는 사운드의 로드를 처리하고 기본 사운드 속성을 관리하며 사운드 재생을 시작합니다.
|
flash.media.SoundChannel
|
응용 프로그램이 Sound 객체를 재생할 때는 새로운 SoundChannel 객체가 만들어져 재생을 제어합니다. SoundChannel 객체는 사운드의 왼쪽과 오른쪽 재생 채널의 볼륨을 제어합니다. 재생되는 각 사운드에는 자체의 SoundChannel 객체가 있습니다.
|
flash.media.SoundLoaderContext
|
SoundLoaderContext 클래스는 사운드를 로드할 때 사용할 버퍼링 시간(초)을 지정하고 파일을 로드할 때 서버에서 정책 파일을 찾을지 여부를 지정합니다. SoundLoaderContext 객체는 Sound.load() 메서드에 대한 매개 변수로 사용됩니다.
|
flash.media.SoundMixer
|
SoundMixer 클래스는 응용 프로그램의 모든 사운드와 관련된 재생 및 보안 속성을 제어합니다. 사실상, 다중 사운드 채널은 공통 SoundMixer 객체를 통해 믹싱되므로 SoundMixer 객체의 속성 값은 현재 재생되는 모든 SoundChannel 객체에 영향을 미칩니다.
|
flash.media.SoundTransform
|
SoundTransform 클래스에는 사운드 볼륨과 패닝을 제어하는 값이 포함됩니다. SoundTransform 객체는 무엇보다 개별 SoundChannel 객체, 전역 SoundMixer 객체 또는 Microphone 객체에 적용될 수 있습니다.
|
flash.media.ID3Info
|
ID3Info 객체에는 종종 mp3 사운드 파일에 저장되는 ID3 메타데이터 정보를 나타내는 속성이 포함됩니다.
|
flash.media.Microphone
|
Microphone 클래스는 사용자의 컴퓨터에 연결된 마이크 또는 기타 사운드 입력 장치를 나타냅니다. 마이크로부터 입력된 오디오는 로컬 스피커나 원격 서버로 라우팅될 수 있습니다. Microphone 객체는 게인, 샘플링 속도 및 자체 사운드 스트림의 기타 특성을 제어합니다.
|
로드 및 재생되는 각 사운드에는 Sound 클래스 및 SoundChannel 클래스의 고유한 인스턴스가 필요합니다. 그리고 다중 SoundChannel 인스턴스의 출력이 재생 중에 전역 SoundMixer 클래스에 의해 함께 믹싱됩니다.
Sound, SoundChannel, SoundMixer 클래스는 마이크를 통해 캡처한 사운드 데이터 또는 Flash Media Server 등의 스트리밍 미디어에서 캡처한 사운드 데이터에 사용되지 않습니다.