최근 3.0 버전 넘어서면서부터 AVFoundation이 제공되어 좀더 편하게 오디오 디바이스를 핸들링할 수 있게 되어 있긴 하나....
생긴 데이터를 보낼수 있는 방법이 URL(파일 또는 HTTP live streaming(?)으로)로 뿜는 방법 이외에는 제공하지 않음.
그래서 할수 없이... 파일저장용이 아닌 실시간 전송용으로는 AVFoundation같은 High Level API는쓸 수 없고 Low Level API를 써야하는데 이게 제법 귀찮은것 같으며, 정보도 많이 없음.
비록 맥OS, 아이폰 OS가 BSD계열이긴 하나 /dev/밑에 device에 직접 access 할 수 없음.
즉, 리눅스의 사운드 드라이버인 alsa, oss로 사용할 수없다는 말.
결국 오디오 데이터를 raw하게 손을 대고 싶으면... low level api를 써야함.
Low Level API로는
AudioToolBox, CoreAudio 등이 있음.
아마 AudioToolBox의 Audio Queue Services 기능을 이용해야 할 것 같긴한데... 좀더 들여다봐야 할 듯..(요기 정리가 잘 되어 있는것 같음)
아이폰 어플은 접해보면 접해볼수록 잘 만든것 같긴한데 자유도는 꽝이고 애플의 횡포에 적응해야 하는것 같음.
References
[1] http://sites.google.com/site/iphonecoreaudiodevelopment/
[2] http://developer.apple.com/iphone/library/documentation/musicaudio/Conceptual/CoreAudioOverview/WhatisCoreAudio/WhatisCoreAudio.html#//apple_ref/doc/uid/TP40003577-CH3-SW1
[3] http://iiixzu.tistory.com/17
http://developer.apple.com/iphone/library/DOCUMENTATION/MusicAudio/Reference/AudioQueueReference/Reference/reference.html#//apple_ref/doc/uid/TP40005117
댓글 없음:
댓글 쓰기