메서드를 구현하는 MonoBehaviour C# 스크립트를 생성하여 Audio Source 게임 오브젝트에 추가할 수 있습니다. 오디오 탭이 포함된 Audio Source 컴포넌트 체인에 추가되면 C# 스크립트는 오디오 탭에서 제공하는 모든 오디오를 수신합니다. 다음은 오디오 데이터를 수신하도록 설정된
AudioAnalyzer
라는 클래스의 예제입니다.
using UnityEngine;public class AudioAnalyzer : MonoBehaviour{ private void OnAudioFilterRead(float[] data, int channels) { // Do something with the audio contained in the data array }}
다음 이미지에서는 Audio Source 컴포넌트 체인에서 Vivox Channel Audio 다음의
AudioAnalyzer
클래스를 찾아 Audio Analyzer 스크립트에서 Vivox Channel Audio Tap 오디오를 사용할 수 있도록 합니다.
오디오 탭 컴포넌트를 보여 주는 Unity 에디터 인스펙터(Inspector) 창의 스크린샷입니다.
Audio Source 게임 오브젝트에 컴포넌트를 추가하는 순서가 중요합니다. 게임 오브젝트에 서로 다른 클래스에 있는 두 개의
OnAudioFilterRead
구현을 추가하면 각각 위에서 아래로 순차적으로 호출됩니다. 이는 오디오 탭에는 적용되지 않습니다. 체인 내 위치에 관계없이 오디오가 체인의 맨 처음에 제공되기 때문입니다.네이티브 코드에서 원시 오디오 데이터에 액세스하려면 Unity의 네이티브 오디오 플러그인 SDK 기술 자료를 참고하시기 바랍니다.
공존 오디오 시스템
Unity와 Vivox에는 공존하는 오디오 시스템이 있습니다.게임에 오디오 탭을 추가하면 탭 오디오는 Vivox의 독립 오디오 시스템이 아닌 Unity의 오디오 엔진을 통해 재생됩니다. 이 경우 Vivox에서 오디오를 렌더링하도록 설정한 디바이스가 Unity에서 사용하도록 설정한 디바이스와 동일하지 않을 수 있습니다. Unity가 탭 오디오 렌더링을 담당하므로 Unity가 렌더링에 사용하는 디바이스가 예상한 디바이스와 동일해야 합니다.참가자 탭만 사용하는 경우 채널 오디오 출력은 여전히 Vivox의 오디오 시스템에서 재생되는 반면, 오디오 소스를 통해 재생되는 참가자 탭은 Unity의 오디오 시스템을 사용합니다.
참고
Vivox는 오디오 탭 사용이나 Unity 마이크 설정에 관계없이 항상 자체적으로 선택한 캡처 오디오 디바이스를 사용합니다.