'Audio'에 해당되는 글 1건

  1. 2010.06.21 [번역] Getting started with Audio and Video
아이폰어플개발정보2010. 6. 21. 23:55
[번역] Getting started with Audio and Video

원본 링크: http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/GS_AudioVideo_iPhone/index.html

역자주: 오디오와 비디오의 play 를 구분하기 위해 오디오는 연주(play), 비디오는 재생(play) 이라고 번역을 했어요. 참고^^; 그리고 이 번역부터는 원본 문단에 있는 링크를 복사해 오지 않으려고 합니다. 링크 가져오는게 무척 번거럽네요. 지송^^;

오디오와 비디오로 시작하기

개요
iPhone OS 의 멀티미디어 기술은 여러분이 iPhone OS 장치의 사용하기 편리한 오디오와 비디오 기능을 이용할 수 있게 합니다. 여러분
의 어플리케이션에서 오디오를 생성, 녹음, 믹스, 편집, 연주하는 것이 필요하다면 Core Audio 를 사용하시기 바랍니다. 오픈소스로 제공되는 OpenAL 인터페이스는 고성능의 위치 지정이 가능한 연주를 지원하며, 게임에 가장 이상적입니다. Media Player 프레임웍은 비디오 파일의 꽉찬 화면의 재생을 지원하며, 사용자의 iPod 라이브러리 안의 오디오들의 재생도 제공합니다. iPhone OS 3.0 에서 부터 여러분은 여러분의 어플리케이션에 비디오 녹화 기능 또한 추가할 수 있습니다.

기본

여러분이 오디오 관련 코드를 작성하기 전에...

[] [Core Audio Overview] 안의 [What Is Core Audio] 을 읽어야 합니다. 이것으로 여러분은 iPhone OS 에서 오디오 서비스로의 기본적인 인터페이스에 친숙해져 합니다.

[] 또한 iPhone OS 위에서의 오디오 관련 개발을 배우기 위해서 [iPhone Application Programming Guide] 안의 [Using Sound in iPhone OS] 를 읽어야 합니다.

[] 이것의 구조, 프로그래밍 규약, Core Audio 의 사용을 배우기 위해서 [Core Audio Overview] 안의 [Core Audio Essentials] 역시 읽어주기 바랍니다.

[] 사운드를 연주하는 방법을 보여주는 [avTouch] 샘플과 기본적인 녹음과 연주를 보여주는 [SpeakHere] 샘플, 그리고 진동을 발생시키고(역자주: 모바일의 진동음을 이야기하는 것 같네요) 경고음을 연주하고 사용자를 위한 음향 효과를 만드는 방법을 보여주는 [SysSound] 샘플을 참고해야 합니다.

비디오 관련 코드를 작성하기 전에...

[] iPhone OS 위에서의 비디오 녹화와 재생의 기본적인 내용을 위해서는 [iPhone Application Programming Guide] 안의 [Using Video in iPhone OS] 를 읽어주기 바랍니다.

다음 과정들

여러분이 작성하려는 어플리케이션의 요구 사항을 바탕으로 오디와 비디오 관련의 다양한 API 를 선택할 것입니다. 모든 iPhone 개발자들은 오디오 세션에 대해서 배울 필요가 있습니다.

오디오 세션을 사용하기

iPhone OS 내의 Audio Session Service 를 이용하여 여러분은 걸려오는 전화와 같은 인터럽트에 대한 어플리케이션의 대응 처리를 관리할 수 있으며, 사용자들이 헤드셋을 모바일에서 뽑았을 때 처럼의 오디오 흐름 변화를 관리할 수 있습니다. 이러한 기술을 이용하여 또한 여러분은 오디오의 상태를 지정할 수 있습니다. 가령 사용자가 [링/무음] 상태에서 [무음] 상태로 변경을 할 때 여러분의 오디오를 정지시킬 것인지 아니면 계속 지속시킬 것인지 설정할 수 있습니다.

오디오를 사용하는 모든 iPhone 어플리케이션은 반드시 Audio Session Services 를 사용해야만 합니다. 더 많은 정보를 위해서는, [Audio Session Programming Guide] 를 읽어 주시기 바랍니다. 녹음과 재생이 필요한 어플리케이션에서 이러한 기술을 사용하는 방법의 예는 [SpeakHere] 샘플을 참고하시기 바랍니다.

오디오를 연주하기
여러분의 필요에 따라서, 여러분은 AVAudioPlayer 클래스, Audio Queue Services, OpenAL, I/O 오디오 unit 또는 System Sound Services 를 이용하여 iPhone OS 에서 오디오를 연주할 수 있습니다. 또한 여러분은 iPod Library Access API 들을 이용하여 사용자의 iPod 라이브러리에 있는 오디오들을 연주할 수 있습니다.

[] 임의 구간의 사운드를 연주하거나, 동시에 여러 사운드를 연주하거나, 레벨 제어를 하면서 사운드를 연주하기 위해서는, AVAudioPlayer 클래스를 이용합니다. 이러한 기술은 MP3, AAC, ALAC(애플의 무손실 포맷), IMA4, 선형 PCM 포맷은 물론이고 iPhone OS 에서 제공되는 어떠한 종류의 오디오 포맷을 연주할 수 있습니다. 이러한 기술을 위해서 [iPhone Application Programming Guider] 와 [AVAudioPlayer Class Reference] 를 참고하십시오. 또한 [avTouch] 샘플도 참고하십시오.

[] 정밀한 제어를 하면서 사운드를 연주하기 위해서 (가령 동기화를 위해서), 또는 인터넷 스트리밍을 캡처한 오디오를 연주하기 위해서는, [Audio Queue Services] 를 사용합니다. 더 자세한 내용은 [Audio Queue Services Programming Guide] 를 참고하십시오. 샘플 코드는 [SpeakHere] 를 보십시오.

[] 위치를 지정하여 오디오를 연주하기 위해서(특히 여러분의 어플리케이션이 게임이라면), OpenAL 를 사용하십시오. 이것은 http://openal.org 에서 소개되어 있습니다. 이 기술을 사용한 것에 대한 중요한 정보를 위해서 OpenAL FAQ 를 참고하십시오. 샘플 코드는 [oalTouch] 를 보십시오.

[] 가장 저수준의 I/O 접근을 하면서 사운드를 연주하기 위해서, 또는 동일한 시간에 오디오의 입력과 출력을 제공하기 위해서는, I/O 오디오 유닛을 사용합니다. 음성 채팅 어플리케이션을 위해서는 Voice Processing I/O 오디오 유닛을 사용합니다. 자세한 내용은 [System Audio Unit Access Guide] 와 [aurioTouch] 샘플을 참고하십시오.

[] 경고음을 연주하거나, 사용자 인터페이스를 위한 사운드 효과를 연주하거나, 진동음을 발생시키기 위해서는 System Audio Services 를 사용합니다. 이 기술은 .caf, .wav, .aif 포맷의 30초 또는 그 이하 길이를 갖는 사운드를 연주할 수 있습니다. 자세한 내용은 [iPhone Application

Programming Guider] 에서 [Using Sound in iPhone OS] 를 참고하십시오.

[] 사용자의 iPod 라이브러리에 있는 오디오를 연주하기 위해서는 Media Player 프레임웍에 있는 iPod Library Access API 들을 사용하십시오.  자세한 내용은 [iPod Library Access Programming Guider] 를 참고하십시오. 또한 샘플은 [AddMusic] 을 보십시오.

스트리밍되는 오디오를 사용하기

여러분은 스트리밍되는 오디오를 캡처하거나 연주할 수 있습니다.

[] 네트웍 연결로 부터 스트리밍되는 오디오를 분석하기 위해서는, [Audio File Stream Services Reference] 에서 설명된 [Audio File Stream Services] 를 사용합니다.

[] 캡처된 스트리밍 오디오를 연주하기 위해서는, [Audio Queue Services Programming Guide] 와 [Audio Queue Services Reference] 를 보십시오.

[] 여러분은 MPMoviePlayerController 클래스를 사용하여 AAC-LC 포맷으로 된 인터넷 오디오 파일 또한 연주할 수 있습니다. 이것에 대한 예는 [MoviePlayer] 샘플을 참고하시기 바랍니다.

오디오를 녹음하기

iPhone 에서 사운드를 녹음하기 위해서는, [AVAudioRecorder Class Reference] 에서 설명된 것처럼 [AVAudioRecorder] 를 사용하십시오.

여러분은 또한 [Audio Queue Services Programming Guide] 와 [Audio Queue Services Reference] 에서 설명된 [Audio Queue Services] 를 사용하여 사운드를 녹음할 수도 있습니다. iPhone OS 에서 지원되는 모든 종류의 오디오를 녹음하는 방법은 [SpeakHere] 샘플에서 볼 수 있습니다.


 

비디오를 재생하기
MPMoviePlayerController 클래스는 H.264 (baseline profile level 3.0) 포맷으로 또는 MPEG-4 part 2 (simple profile) 의 비디오 포맷으로 비디오 재생을 지원합니다. 비디오 재생은 꽉찬 화면을 지원하며 주로 애니매이션 재생이 필요한 게임 개발자를 위해 특화되어 있습니다.

여러분은 또한 [MoviePlayer] 샘플에서 보여지는 것처럼 인터넷으로 부터 스트리밍되는 비디오를 재생하기 위해서 MPMoviePlayerController 클래스를 사용할 수 있습니다. 여러분의 어플리케이션에 비디오 재생 기능을 추가하는 것에 대한 자세한 내용은 [iPhone Application Programming Guide] 안에 [Playing Video Files] 를 읽기 바랍니다.

비디오를 녹화하기
iPhone OS 3.0 에서 부터, 여러분은 지원되는 장치 바탕으로 오디오를 포함하고 있는 비디오를 녹화할 수 있습니다. 단지 정지 이미지를 캡처하는 것에 대해서는 UIImagePickerController 클래스를 사용합니다. 자세한 내용은 [iPhone Application Programming Guide] 안에 [Recording Video] 를 참고하시고,  [UIImagePickerController Class Reference] 도 참고하기 바랍니다.

추가 리소스들

iPhone Dev Center 는 여러분의 어플리케이션에 멀티미디어 기능 추가를 위해서 기본적인 지침, 참고 문서와 기술 조언, 샘플 코드를 제공합니다.

Core Audio 메일링 리스트 (coreaudio-api@lists.apple.com) 는 같은 관심사를 갖고 있는 개발자들과 Core Audio 와 OpenAL 관련 문제를 토론할 수 있는 매우 훌륭한 수단입니다.

iPhone 개발자 포럼에서 여러분은 질문을 하거나 어떠한 주제 또한 모든 iPhone 개발 주제에 대한 답변을 볼 수 있습니다.


 



출처 : http://blog.naver.com/PostView.nhn?blogId=dontbeshy&logNo=90082203564
Posted by 오늘마감

댓글을 달아 주세요