본문 바로가기

코어오디오6

core audioqueue player 에 대하여 core audioqueue player 에 대하여 코어오디오를 이용해서 음원을 플레이 하는 어플을 간단하게 만들어보았다. 애플 오디오 프로그래밍 가이드 문서를 기반으로 구현을 하였다. 작동 순서는 prepare 버튼을 눌러서 먼저 재생할 오디오 파일 형식, 파일 위치와 관련된 설정을 해준다. 그 후 start 버튼을 눌러서 음원을 재생한다. 재생을 하면 재생이 완료 될때까지 끊임없이 콜백함수가 호출되면서 오디오 파일에서 읽은 데이터를 버퍼에 넣고 출력한다. 그리고 음악이 종료되며면 dispose 버튼을 눌러서 메모리에 할당된 큐를 해제해준다. 처음에 이 프로세서를 알기까지 꽤 많은 시간이 걸렸다. 단순하게 오디오를 재생하려면 이미 만들어져있는 MediaPlayer 오디오 프레임워크를 가져다 쓰면된다. .. 2019. 3. 28.
코어오디오 MediaPlayer 구현 MediaPlayer 구현 네비게이션 info.plist storyboard #import @interface ViewController : UIViewController @end //MediaPlayer 임포트!#import #import "ViewController.h" @interface ViewController () @property (strong,nonatomic) MPMediaPickerController *mpPickerVC; //픽커 컨트롤러@property (strong,nonatomic) MPMediaItemCollection *slctitems; //선택된 아이템@property (strong,nonatomic) MPMusicPlayerController *appMusicPlayer.. 2019. 3. 4.
ios objective c 코어오디오 다루기 4 - 녹음기능 ios objective c 코어오디오 다루기 4 - 녹음기능 //개발자가 오디오 큐를 생성할때 (녹음할때)입력장치에서 캡쳐된 오디오의 버퍼를 애플리케이션에 전달하거나 //(재생할때 )버퍼를 채울것을 요구하기 위한 콜백함수를 제공한다. //맥의 기본입력장치에서 녹음을 하고 , 캡쳐된 오디오를 파일에 쓴다. //사용할 오디오 형식과 녹음을 할 파일을 설정 //오디오 큐를 생성 //큐를 시작 //큐를 중지 //파일을 닫는 등의 해제 작업 #import #import #define kNumberRecordBuffers 3 //오디오 큐 콜백을 녹음하기 위한 사용자 정보 구조체 typedef struct MyRecorder { AudioFileID recordFile; //output파일 참조 SInt64 re.. 2018. 11. 8.
ios objective c 코어오디오 다루기 3 - AudioStreamBasicDescription 데이터 구조체 ios objective c 코어오디오 다루기 3 - 데이터 구조체 코어오디오는 오디오 데이터 패킷을 스트림으로 본다. AudioStreamBasicDescription 구조체는 샘플율, 하나의 채널에 비트의 수, 프레임에 채널의 수등 데이터 구조를 묘사하는 메타데이터를 포함한다. 스트림의 ASBD에 관해 중요한점은 오디오 데이터 형식의 구현 세부사항이기 때문이다. 예로 파일이나 네트워크 스트림과 같은 어떤 소스에서 데이터를 읽을 때 코어 오디오의 여러 부분은 ASBD 값을 채운다. ASBD의 구조체 이름은 m으로 시작한다. // // main.m // // // Created by MacBookPro on 06/11/2018. // Copyright © 2018 MacBookPro. All rights.. 2018. 11. 7.
ios objective c 코어오디오 다루기 2 - AudioStreamBasicDescription으로 다양한 주파수의 음원만들기 ios objective c 코어오디오 다루기 2 - AudioStreamBasicDescription으로 다양한 주파수의 음원만들기 #import #import #define SAMPLE_RATE 44100 // 초당 44,100 샘플이나 44.1kHz 샘플율 #define DURATION 5.0 //얼마나 많은 오디오의 초를 만들기를 원하는지 //#define FILENAME_FORMAT @"%0.3f-square.aif" // 삐익~~~ 티비 신호 나갔을때 음 #define FILENAME_FORMAT @"%0.3f-saw.aif" //#define FILENAME_FORMAT @"%0.3f-sine.aif" //파일이름 넣기 //솔음으로 쭉~ int main(int argc, const char .. 2018. 11. 6.
ios objective c 코어오디오 다루기 1 ios objective c 코어오디오 다루기 1 오디오 파일을 불러와서 속성 정보를 출력하는 간단한 로직이다.코어오디오 api를 사용하기 위해서 AudioToolbox 라이브러리를 추가해줘야한다.(왼쪽 네비게이션에서 프로젝트 아이콘 클릭 -> Build Phasses -> Link Binary With Libraries -> + 버튼 클릭 -> 찾아서 추가해줌) // // main.m // 1 // // Created by service on 2018. 11. 6.. // Copyright © 2018년 service. All rights reserved. // /* 파일을 열고, 메타데이터에 대한 버퍼 할당 메타데이터를 갖는다. */ #import #import //파일경로 : "~/Music/iTu.. 2018. 11. 6.