선형 PCM(펄스 코드 변조) 데이터 형식의 사운드. 기본 용도는 애플리케이션에서 대기 시간이 짧은 오디오를 제공하는 것입니다.
API Architectural Layers
Frameworks
AudioFileCreateWithURL 함수를 호출하여 오디오 파일 객체를 인스턴스화합니다. 그 시점에서 프록시 개체와 통신하여 실제 오디오 파일과 함께 작동합니다.
Proxy Objects
속성 메커니즘을 사용하여 연결합니다. Core Audio 인터페이스는 속성이 변경되었음을 애플리케이션에 알립니다.
속성 키는 일반적으로 열거 상수에 대한 니모닉의 이름입니다. 속성 값은 속성의 목적에 적합한 특정 데이터 유형입니다. 인터페이스는 접근자 함수를 사용하여 개체에서 속성 값을 검색하고 쓰기 가능한 속성의 경우 해당 값을 변경합니다. 다른 Core Audio 객체에는 내부 구조가 있으며 각 부분에는 고유한 속성 집합이 있습니다.
AudioUnitGetProperty 함수를 호출할 때 범위(입력/출력)와 요소(0,1,2 등)를 지정해야 하며 원하는 정보에 대한 오디오 컴포넌트 단위도 지정해야 합니다. 많은 Core Audio 인터페이스는 콜백 기능을 사용하여 애플리케이션과 통신할 수 있습니다. 애플리케이션에 새 오디오 데이터 세트를 보냅니다. 예. 녹음 – 응용 프로그램에서 오디오 데이터 집합을 요청합니다. 예) 재생 – 소프트웨어 개체의 상태가 변경되었음을 응용 프로그램에 전달합니다.
콜백은 응용 프로그램의 템플릿에 따라 선언할 수 있으며 운영 체제에서 호출할 수 있습니다. 상호 작용할 개체 및 콜백 함수를 등록합니다. 객체를 생성하는 동안 콜백을 등록하는 방법.
Audio Data Formats
Core Audio는 오디오 데이터 형식에 대한 자세한 지식이 필요하지 않습니다. Core Audio로 표현되는 오디오 데이터 형식.
Universal Data Types in Core Audio (1/2)
이전 섹션 '오디오 데이터 형식'에서 본 것처럼 AudioStreamPacketDescription 유형은 특정 압축 오디오 데이터 형식에 대한 재생 역할을 합니다. 비트 전송률 오디오 데이터 구조인 mVariableFramesInPacket 멤버 상수의 값은 0입니다.
Universal Data Types in Core Audio (2/2)
Obtaining a Sound File’s Data Format
플랫폼에 따라 Core Audio는 . 두 가지 표준 오디오 데이터 형식을 가질 수 있습니다. Core Audio의 서비스 형식이 최적화되었습니다.
Canonical Audio Data Formats (1/2)
값으로 사용되는 상수 및 데이터 유형은 CoreAudioTypes.h 파일에서 선언됩니다. AudioUnitSampleType 데이터 유형을 사용하는 것은 iOS에서 일반적입니다. Mac OS X의 ASBD가 플랫폼에 구애받지 않는지 확인하십시오.
Canonical Audio Data Formats (2/2)
Core Audio에서 매직 쿠키는 압축된 오디오 파일 또는 스트림에 첨부된 불투명한 메타데이터 세트입니다. 메타데이터는 파일이나 스트림을 적절하게 압축 해제하는 데 필요한 세 가지입니다. 개발자는 매직 쿠키를 블랙 박스로 취급하고 여기에 포함된 메타데이터를 검색합니다.
Magic Cookies (1/2)
Core Audio 기능을 사용하여 읽고 읽고 사용합니다.
Magic Cookies (2/2)
오디오 데이터 형식으로 제공된 가장 작은 유효 프레임 집합입니다. 모든 오디오 데이터 형식은 부분적으로 패킷이 조립되는 방식으로 정의됩니다. ASBD 데이터 구조는 패킷 형식의 mBytesPerPacket입니다.
Audio Data Packets
패킷은 유용한 오디오 데이터 버퍼 크기를 계산하는 데 사용할 수 있습니다. 오디오 데이터 형식에 사용되는 세 가지 유형의 패킷. 이 구조는 사운드 파일의 단일 패킷을 설명합니다.
Data Format Conversion
애플리케이션이 사운드 파일과 함께 작동할 때마다 Core Audio의 중간 계층 서비스인 오디오 파일 서비스를 사용할 수 있습니다. 파일에 포함된 오디오 데이터 및 메타데이터에 액세스하고 사운드 파일을 생성하기 위한 강력한 추상화를 제공합니다. 시스템 특성을 감지하는 데 사용됩니다.
Sound Files
AudioFileGetGlobalInfoSize 기능: 요청된 정보를 보관할 메모리를 할당합니다. 예) CAF 파일을 생성하려면 kAudioFileCAFType 식별자를 사용합니다. 오디오 데이터를 파일에 넣기 위한 ASBD.
Creating a New Sound File
AudioFileOpenURL 함수를 사용하여 재생할 사운드 파일을 엽니다. 개발자는 속성 ID를 사용하여 파일에 대해 알아야 할 사항을 검색합니다. VBR 파일이 긴 경우(팟캐스트) 두 개의 속성 ID ID입니다.
Opening a Sound File
입력하면 이 함수는 파일의 고유 ID를 반환합니다. 일반적으로 사용되는 속성 ID(파일에 포함될 메타데이터를 가져올 수 있는 . Audio File Services에서 사용할 수 있는 많은 ID가 있음). 오디오 파일 서비스를 사용하여 사운드 파일에서 오디오 데이터를 읽고 씁니다.
Reading From and Writing To a Sound File
패킷당 읽기/쓰기는 VBR 데이터 전용 옵션입니다. 디스크에서 오디오 데이터를 읽기 위한 또 다른 옵션은 오디오 파일 서비스(다음 장의 사운드 스트림에서 설명)입니다. 여기에는 선형 PCM과의 자동 데이터 변환을 제공하는 오디오 파일 서비스 및 오디오 변환기 서비스의 필수 기능이 포함되어 있습니다.
Extended Audio File Services
플랫폼에서 지원하는 모든 오디오 데이터 형식을 포함합니다. 채널 정보 및 텍스트 댓글과 같은 다양한 메타데이터를 지원합니다.
CAF Files
오디오 파일 스트림 서비스는 스트림 관련 작업을 지원하기 위해 구문 분석을 담당합니다. 이 개체는 스트림 자체에 대한 프록시 역할을 합니다. 속성을 통해 스트림에 어떤 일이 발생하는지 애플리케이션에 알립니다.
Sound Streams
Audio File Stream Services는
속성 수신기를 반환하는 것은 스트림을 재생하도록 오디오 대기열 객체를 구성하는 것과 같습니다. 각 iPhone 응용 프로그램에는 정확히 하나의 오디오 세션이 있습니다. 화면 잠금으로 오디오를 중지할지 여부입니다.
Audio Sessions: Cooperating with Core Audio
Audio Session
Using Audio in iPhone