2012-03-05 3 views
1

프로젝트의 경우 iPhone 앱에서 오디오를 상당히 특별하게 처리해야하며 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다.iPhone에서 오디오를 재생하는 동안 여러 파일 사이를 건너 뛰기 iOS

동일한 길이 (2-3 초, 비 압축)의 오디오 파일을 최대 30 개까지 고정되어 있다고 가정 해 보겠습니다. 한 오디오 파일에서 큐가 재생되는 동안 이전 타임 라인의 다른 오디오 파일에서 계속 재생되도록하는 매개 변수를 업데이트 할 수 있어야합니다. 이전 오디오 파일의 재생이 끝났습니다. 다른 오디오 파일이 헤라 필터링 된 오디오의 다른 버전이라면 필터를 직접 적용한 느낌을 얻기 위해 그 사이를 "슬라이드"할 수 있어야합니다. 실시간으로 iPhone에서 필터링을 수행 할 수 없기 때문에 사전에 렌더링 된 파일을 사용할 수 있습니다.

AB와 C는 내가 할 수있는 같은 다른 오디오 파일 인 경우 : 중단없이

플레이 A :

시작 AAAAAAAAAAAAA

정지

또는 플레이 A를 시작하고 이상 계속 B에서 C를 연주하면서 시작

시작 AAABBBBBBBBCC 중지

두 개 이상의 큐를 동시에 재생할 수 있어야합니다. 대기 시간은 그다지 중요하지 않지만 파일을 건너 뛰는 것이 이상적으로 클릭 또는 지연을 생성하지 않아야합니다.

나는 Audio Queue Services (다이브로 들어가기에 아주 좋아 보인다)를 사용하고 OpenAl에서 냄새를 맡았습니다. 누구든지 내게 럼프 개요와 내가 다음날에 묻어 둘 수있는 일반적인 방향을 줄 수 있습니까?

답변

1

FMOD 디자이너를 사용하여이 작업을 관리했습니다. FMOD (http://www.fmod.org/)는 iOS 개발을 지원하는 게임 개발을위한 사운드 디자인 프레임 워크입니다. FMOD Designer에서 각 사운드 클립에 대해 서로 다른 레이어를 사용하여 멀티 트랙 이벤트를 만들었습니다. 수평 막대에서 실시간으로 재생할 사운드 클립을 제어 할 수있는 매개 변수를 추가하십시오. 트릭은 각 사운드 클립을 전체 막대 위에 계속 놓고 첨부 된 그림과 같이 볼륨 효과 (0-100 %)를 사용하여 들려오는 소리를 제어하는 ​​것입니다. 그렇게하면 파일 간 건너 뛰기가 동일한 시간 코드를 따르도록 보장됩니다. 나는 이것을 최대 30 개의 레이어와 함께 성공적으로 시도했지만 약간의 더블 플레이를 경험했습니다. 숫자를 15로 줄이면이 ​​모양이 사라지는 것 같았습니다.

iOS Audio Unit API를 사용하는 것이 좋지만 가장 간단한 해결 방법 인 FMOD가 좋습니다. 해결 방법은 Ellen S입니다. FMOD 디자이너에서 멀티 트랙 이벤트의

스크린 샷 : 입력에 대한 https://plus.google.com/photos/106278910734599034045/albums/5723469198734595793?authkey=CNSIkbyYw8PM2wE

1

아이폰 OS 오디오 API 유닛, 오디오 출력 RemoteIO 접속 특히 믹서 유닛을 이용하여 시도.

+0

감사합니다! Audio Units는 반드시 작동해야하지만, 여전히 가볍고 습득하기가 어렵습니다. 나는 iOS 프로그래밍에서 2 개월의 경험을 가지고 있으며이를 제거 할 수있는 몇 가지 고수준의 라이브러리를 원했습니다. 그 방향의 어떤 아이디어? OpenAl? FMOD를 시도했지만 건너 뛰기가 작동하지 않습니다. – Spispeas

관련 문제