기술 자료

​
​

Development

User Acquisition

Monetization

산업 분야

Vivox Unity SDK

Vivox Unity SDK

Vivox
​
​
Vivox Unity SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
    • Set up your project
    • Create voice and text channels
    • Messaging
    • Player management
    • Device management
    • Audio management
      • Acoustic echo cancellation
      • In-game control of audio levels
      • Audio source integration
        • Unity Editor Audio Tap components
        • General use of the Audio Tap components
        • Audio Taps component parameters
        • Access audio data
        • Use Audio Taps in C# scripts
      • Transmission
    • Mobile development
    • Text-to-speech
    • Speech-to-text
    • Real-time recording
    • Server-side-recording
    • Troubleshooting
  • Tutorials
  • Reference
  1. Vivox Unity SDK 기술 자료
  2. Vivox Unity 개발자 가이드

C# 스크립트에서 오디오 탭 사용

How to add Audio Taps through C# scripts.
읽는 시간 3분
최근 업데이트: 8달 전

이 섹션에서는 에디터 UI가 아닌 스크립트를 통해 오디오 탭을 추가하는 방법을 설명합니다.

Capture Source Tap 및 Channel Audio Tap

C# 스크립트를 통해 씬에 Capture Source Tap과 Channel Audio Tap을 추가할 수 있습니다. 다음은 스크립트를 통해 Vivox Channel Audio Tap 오디오에 에코 효과를 추가하는 방법의 예입니다.
private GameObject _channelAudioGameObject;public void AddChannelAudioEffect(){ // Create the GameObject _channelAudioGameObject = new GameObject("ChannelAudioGameObject"); // Add the Tap to it _channelAudioGameObject.AddComponent<VivoxChannelAudioTap>(); // Also add an echo filter, for example _channelAudioGameObject.AddComponent<AudioEchoFilter>();}
빈 게임 오브젝트를 생성한 다음 모든 오디오에 에코가 적용되도록
VivoxChannelAudioTap
과 Unity에서 제공하는
AudioEchoFilter
를 추가합니다. 다양한 사용 사례에 대한 변경 없이
VivoxCaptureSourceTap
의 예에 사용된 오디오 탭을 전환할 수 있습니다.
참고
이 예에서는 오디오 탭 파라미터가 변경되지 않았습니다.

Participant Tap 스크립트

Participant Tap은 VivoxParticipant의 클래스
CreateVivoxParticipantTap
메서드를 통해 스크립트에서 쉽게 생성할 수 있습니다.
VivoxService.Instance.ParticipantAddedToChannel
메시지를 구독하면 참가자가 채널에 참여할 때마다 콜백을 받게 됩니다. 그런 다음 제공된 VivoxParticipant 오브젝트에서
CreateVivoxParticipantTap
를 호출하면 Vivox Participant Tap이 포함된 새 참가자에 대한 게임 오브젝트를 생성하여 특정 참가자에 대한 오디오를 수신할 수 있습니다.
다음 예는
ParticipantAddedToChannel
을 구독하고 각각의 새 채널 참가자에 대해 에코 효과를 추가하는 방법을 보여 줍니다.
using Unity.Services.Vivox;using UnityEngine;public class ParticipantHandler : MonoBehaviour{ void Start() { VivoxService.Instance.ParticipantAddedToChannel += AddParticipantEffect; } void AddParticipantEffect(VivoxParticipant participant) { var gameObject = participant.CreateVivoxParticipantTap("MyNewGameObject"); gameObject.AddComponent<AudioEchoFilter>(); }}
위의 예제 스크립트는 생성된 오브젝트를 삭제하지 않습니다. 필요한 경우 특정 채널 멤버에 대한 탭만 생성하는 로직을 추가할 수 있습니다.
CreateVivoxParticipantTap
메서드를 사용하여 생성된 Vivox Participant Tap 게임 오브젝트의 생존 기간은 VivoxParticipant 생존 기간과 연결됩니다. 즉, 참가자가 채널을 나가거나 로컬 플레이어가 로그아웃하면 게임 오브젝트가 자동으로 파괴됩니다. 또한
VivoxParticipant.DestroyVivoxParticipantTap
을 호출하여 모든 Vivox 참가자에 대한 Participant Tap을 명시적으로 파괴할 수도 있습니다.
참고
Silence In Final Mix 파라미터를 사용하여 참가자 탭의 오디오를 음소거할 수 있습니다.

오디오 탭 상태 모니터링

오디오 탭에는 생성된 오디오 탭의 상태를 모니터링하기 위해 노출된 파라미터 TapId가 있습니다. 탭을 생성한 후 TapId의 값은 0보다 크거나 같아야 합니다. 이는 오류가 없음을 의미합니다. 다음은 탭을 생성하고 TapId에 예상 값이 있는지 확인하는 예입니다.
private GameObject _channelAudioGameObject;public void AddChannelAudioEffect(){ // Create the GameObject _channelAudioGameObject = new GameObject("ChannelAudioGameObject"); // Add the Tap to it var tap = _channelAudioGameObject.AddComponent<VivoxChannelAudioTap>(); if (tap.TapId < 0) { Destroy(_channelAudioGameObject); // Destroy the GameObject, since the status is not valid Debug.LogError($"Failed to create VivoxChannelAudioTap"); return; } else { Debug.Log("There was no error creating VivoxChannelAudioTap"); }}
TapId가 0보다 작은 경우 해당 값은 오류를 해결하는 데 도움이 될 수 있습니다. 가능한 값과 오류 발생 이유는 다음과 같습니다.
  • -1 : 탭이 현재 등록되지 않았습니다. 탭이 인스턴스화되었지만 아직 Vivox에 등록되지 않은 경우 이와 같은 문제가 발생할 수 있습니다. 예를 들어 채널이 자동으로 획득되기를 기다리고 있기 때문입니다.
  • -1010 : 탭이 등록되지 않았습니다.
  • -1011 : 탭에서 잘못된 참가자 이름으로 등록을 시도했습니다.
  • -1012 : 탭에서 잘못된 채널 이름으로 등록을 시도했습니다.
  • -1050 : Vivox Participant Tap에만 적용됩니다. 제공된 참가자 이름에서 참가자 URI를 찾을 수 없습니다.
  • -1051 : 탭에서 Vivox에 등록을 시도했지만 VivoxService가 초기화되지 않았습니다. 오디오 탭을 초기화하기 전에 VivoxService를 초기화해야 합니다.
  • -1052 : 탭에서 잘못된 채널 이름으로 Vivox에 등록을 시도했습니다. 채널 이름을 올바르게 설정해야 합니다.

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.

  • 보고 있는 페이지
    • Capture Source Tap 및 Channel Audio Tap

    • Participant Tap 스크립트

    • 오디오 탭 상태 모니터링


이 페이지의 문제 보고