2011-09-29 2 views
0

N 채널로 별도의 오디오 파일을 재생해야하므로 파일을 순차적으로 또는 동시에 재생할 수 있습니다. Android에서 구현해야합니다.재생하지 않고 FMOD를 사용하여 출력 저장

시간 :

| 정보 파일 ... | 파일 .... D | 파일 B ... | ...... | 파일 K | ....

|. .... 파일 g | 파일 c .. | 파일 p. | ....

나는 파일을 압축 해제하고 동시에 재생할 수있는 FMOD라는 두 가지 옵션을 생각하고 있습니다. 내가 조사한 결과, FMOD는 AudioTrack을 사용하여 수동으로 연주하는 것보다 훨씬 쉽고 편리하게 보입니다. 그러나 FMOD를 통해 합병 된 전체 출력을 재생하지 않고도 저장할 수 있는지 이해할 수 없습니다.

솔루션 here을 사용하면 출력을 wav 파일로 리디렉션 할 수 있지만 최종 출력을 즉시 만들고 FMOD를 사용하여 저장할 수 있습니까? 아니면 PCMS를 하나의 스트림으로 수동으로 병합해야합니까?

감사합니다.

답변

1

여기에서 중요한 질문은 파일을 저장해야하는 이유입니다. 오프라인으로 할 수 있다면 훨씬 더 간단 할 것입니다. 여러 파일 (병렬로 재생되는 파일 포함)의 연결을 기록해야하는 경우 FMOD를 사용하는 것이 가능합니다.

wave-writer-nrt 출력 모드를 사용하면 실시간보다 빠른 FMOD playsound 호출을 기반으로 wav 파일을 출력 할 수 있습니다.

또 다른 방법은 맞춤형 DSP를 사용하여 재생되는 모든 서브 믹스의 데이터 스트림에 액세스하는 것입니다. 다른 사운드를 실제로 동시에 재생하려는 경우 유용합니다.

다른 방법은 소리 개체를 만들고 Sound :: lock을 사용하여 PCM 데이터에 액세스하는 것입니다. 그러면 PCM 데이터에 연결할 수 있습니다. 모든 사운드가 동일한 샘플 속도와 채널이어야 함을 명심하십시오. 그렇지 않으면 처리가 필요할 것입니다. 또한 오디오를 직접 믹스하지 않는 한 병렬 사운드에 대해서는이 작업을 수행 할 수 없습니다.

+0

감사합니다. 매튜. 나는 이것을 시도 할 것이다. – EvilDuck

+0

첫 번째 질문에 관해서는 결과 믹스를 재생하지 않고 결과 파일을 출력 할 수있는 요구 사항이 있으며 최선의 방법을 찾고 있습니다. 나는 FMOD가 재생을 위해 굉장하다는 것을 이해하지만, 어플리케이션에 의해 지정된 임의의 파일의 혼합을 저장하는 것이 얼마나 적합한 지 알 수 없다. – EvilDuck

+1

FMOD는 재생을 위해 설계되었으므로 사운드를로드 한 다음 FMOD로 재생해야합니다. 결과를 듣지 않으려면 소리가 나지 않거나 wav-writer 출력 모드를 사용하십시오. 실시간보다 빠르게 재생해야하는 경우 해당 출력 모드의 'nrt'버전을 사용하십시오. –