This document is about: VOICE 1
SWITCH TO

Photon Voice1은 Photon Voice의 첫 버전입니다.        현재는 리팩터링/확장을 거친 Photon Voice 2이 준비되어 있으므로 새로운 프로젝트를 시작할 경우에는 Photon Voice 2를 사용하시는 것을 권장합니다.

알려진 이슈들

이 페이지에서는 플랫폼에서 발생된 다양한 이슈들을 보여줍니다.
여기에서는 아직 해결하지 못했거나 현재 해결하려는 이슈들에 중점을 두고 있습니다.
경우에 따라 플랫폼별로 손상된 버전을 나열하고 다른 버전으로 안내해 드립니다.

백그라운드에서 실행하기

모바일 플랫폼에서 앱이 백그라운드로 이동하면 클라이언트를 계속 연결하는 메인 메시지 루프가 일시 중지됩니다.

이 문제의 일반적인 원인은 다음과 같습니다:

  • 플레이어가 "홈 버튼"을 누른 경우.
  • 플레이어가 전화를 받은 경우.
  • 동영상 광고.
  • 앱에 오버레이 뷰를 표시하는 타사 플러그인 (예, 페이스북, 구글 등).

iOS에서는 백그라운드에 있는 동안 애플리케이션이 연결을 유지할 수 없습니다.(Apple 개발자 페이지의 백그라운드 실행을 참고하세요). 앱이 백그라운드로 전환될 때 클라이언트 연결을 끊는 것이 합리적일 수 있습니다.

WebGL에서는 PlayerTTL을 설정하고 탭의 포커스가 다시 돌아왔을 때 다시 연결하는 것이 합리적일 수 있습니다.

가끔 브라우저는 백그라운드에서 JS 및 WebAssembly를 실행하지 않습니다. 경우에 따라서는 백그라운드에서 오디오를 재생(심지어 들리지 않는 소리로 오디오 재생)하여 이 작업을 수행할 수 있습니다.

앱이 클라이언트 연결 해제 타임아웃(기본적으로 10초) 보다 길게 중지되어 있으면, 클라이언트의 연결이 끊기게 되며, 앱이 "일시 중지 해제"가 되는 즉시 다시 연결해야 합니다.
앱이 백그라운드로 들어간 후에만 "타임아웃 연결 해제" 콜백이 트리거 됩니다.

플레이어가 몇 초 또는 몇 분 후에 돌아올 수 있는 게임 디자인의 경우 다시 연결하고 게임에 다시 참여할 수도 있습니다.
앱이 일시 중지되지 않은 상태에서 동일한 액터 번호로 동일한 룸에 다시 참여하려면 몇 가지 사항을 고려해야 합니다:

  • PlayerTTL: 잠시 후 플레이어가 돌아올 수 있는 충분히 높은 PlayerTTL 값으로 룸을 만들어야 합니다.
  • EmptyRoomTTL: 마지막에 참여한 플레이어의 앱이 백그라운드에 있는 동안 룸을
    빈 룸으로 룸을 만들어야 합니다. 마지막으로 참여한 플레이어의 앱이 백그라운드에 있을 동안 룸을 유지할 수 있을 만큼 충분히 높은 값의 EmptyRoomTTL로 룸을 생성합니다.

유니티

임포트시에 무한 컴파일 에러

일부 유니티 버전에서 에셋이 전혀 업데이트되지 않거나 에셋 저장소에서 제대로 업데이트되지 않는 경우가 있습니다.
항상 변경 로그 txt 파일 또는 PUN 용 PhotonServerSettings에서 Photon 패키지 버전을 확인하세요.
이것은 알려진 유니티 문제이며, 간혹 오래된 패키지가 로컬 오프라인 캐시에 갇혀있어 업데이트가 전혀 작동하지 않거나 제대로 작동하지 않습니다.
이 문제를 해결하려면 먼저 로컬의 Photon 에셋 패키지를 제거한 다음, 다운로드하여 다시 임포트 해주세요.
로컬 유니티 에셋 저장소 캐시 폴더 경로는 링크되어 있는 목록을 참고하세요.

Socket.SetSocketOption의 ArgumentException

IL2CPP builds to fail to connect with an "ArgumentException: Value does not fall within the expected range 원인이 되는 알려진 유니티 문제 입니다. Windows 10 SDK 10.0.19041.0 이 설치된 환경에서 발생하였습니다.

영향받는 유니티 버전: 2018.4.23f1, 2019.4.0f1, 2020.1.0b11, 2020.2.0a13. 이외 더 많은 유니티 마이너 릴리즈 버전도 영향이 있습니다.
수정된 버전: 2020.1.1f1 및 2019.4.5f1 그리고 그 이상. 2018.4.27 도 같이 수정될 것으로 보입니다. 여기에 설명된 대로 2018.4.23의 해결 방법이 존재합니다.

.Net 4.x에서 유니티 2018.2 소켓 정지

유니티 2018.2는 소켓으로 커뮤니케이션을 정지시킬 수 있는 Mono 버전을 사용했습니다. 메시지 크기 및 빈도에 따라 이 문제는 언제든지 발생할 수 있습니다.

결국 2019.2에서 이 문제를 수정을 했으며 2018.3도 수정해야 합니다.

Mono 및 .Net 4.x 또는 .Net Standard 2.0를 사용하는 경우 2018.4.x 또는 2019.4.x 릴리즈를 사용을 권장합니다.

RunInBackground

유니티의 Application.runInBackground는 모바일 플랫폼에서는 지원되지 않습니다.
대신에, 백그라운드에 들어가고 나올 때마다 OnApplicationPause 메소드가 호출됩니다:

C#

void OnApplicationPause( bool pauseStatus )
{
    if (pauseStatus)
    {
        // app moved to background
    } else
    {
        // app is foreground again
    }
}

IOS 앱 스토어 제출 리젝

Apple 팀은 연결 문제로 인해 앱 스토어에 대한 제출을 리젝하기도 합니다.
Apple 사와 이 문제를 해결하려고 노력했으나, 드물지만 여전히 리젝을 당할 수 있습니다. 리젝을 당하는 일반적 경우는 UDP가 차단되는 경우입니다.
UDP가 연결되지 않는 경우 최신 Photon 클라이언트는 TCP를 사용하여 자동으로 해결할 수 있습니다.
리젝을 당한 경우 다시 리뷰를 요청 해야 할 것이고, 의심스럽다면, Apple의 개발자 지원팀에 지원을 요청해야 할 수도 있습니다. 일반적으로 UDP를 지원합니다.
도움을 위해서는 포럼 의견을 참고하세요.

iOS IPv6

일반적으로 유니티 5.x는 iOS에서 IPv6을 지원해야 하지만 일부 버전(5.4와 같은)에서는 이 기능을 지원하지 않습니다.
지원 되는 버전은 다음과 같습니다: 4.7.2, 5.1.5, 5.2.5, 5.3.4p4, 5.4.0p1 및 그 이상 (유니티 블로그 게시물을 참고하세요).

UWP / Windows Store 기능

UWP(Windows Store)를 대상으로 연결하려고 할 때 예외가 발생하거나 다음의 오류가 발생하는 경우:

이 네트워크 자원에 액세스하려면 네트워크 기능이 필요합니다.

유니티의 "Player Settings" -> "Publisher Settings" -> "Capabilities -> "InternetClient"에서 필요한 기능이 활성화되어 있는지 확인하세요.

Required Capability for Windows Store Apps
Windows Store 앱에 필요한 기능. Photon Voice를 사용하고 있는 경우에는 '마이크' 기능도 필요합니다.

UWP 전문가

유니티 애플리케이션을 UWP로 내보내려면 스크립팅 백엔드로 .NET 또는 IL2CPP를 사용할 수 있습니다. Photon PUN 또는 Photon Realtime 유니티 SDK는 유니티에서 애플리케이션을 성공적으로 내보내기 위해 올바른 라이브러리를 선택하도록 이미 구성되어 있습니다. 하지만 내보내는 동안 문제가 발생하면 특정 스크립팅 백엔드에 대해 올바른 라이브러리를 사용하고 있는지 확인해 주시기 바랍니다.

Photon Voice

안드로이드 마이크 권한

유니티 2018.3 에서 안드로이드 권한 요청 기능이 추가되었습니다. 여기에서 마이크 권한 요청하는 방법을 읽으실 수 있습니다.

일반적으로 안드로이드 플랫폼용으로 빌드 할 때 대부분의 권한은 유니티에 의해 manifest 파일에 자동으로 추가됩니다.
Photon Voice에 필요한 두 가지 권한은 다음과 같습니다:

  • android.permission.INTERNET: 유니티의 플레이어 설정을 통해 자동적으로 추가됩니다.
  • android.permission.RECORD_AUDIO: 유니티의 마이크 API가 사용되면 자동으로 추가됩니다.

하지만, 안드로이드 마시멜로에서는 새롭게 도입된 권한 모델로 인하여 문제가 있을 수 있습니다.
생성된 APK에서는 android.permission.RECORD_AUDIO 권한이 누락되어 애플리케이션이 음성을 녹음할 수 없을 것 입니다.
안드로이드 SDK 레벨 23을 타겟으로 할 때 이런 문제를 피하기 위해서는 최신의 유니티 버전으로 업데이트를 해 주시기 바랍니다.

유니티는 기본적으로 애플리케이션이 오픈이 된 즉시 모든 권한에 관련하여 물어보게 됩니다.
이러한 사항은 "AndroidManifest.xml" 파일에 다음의 라인을 추가하여 없앨 수 있습니다:

XML

<application <!-- your application's attributes --> >
    <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
</application>

이렇게 하면, 스스로 마이크 권한을 요청해야 합니다.
그렇지 않으면 Photon Voice가 동작하지 않게 됩니다.

이 플러그인을 사용하실 수도 있습니다.

iOS 마이크 권한

아래의 스크린샷에서 보인 것처럼 프로젝트의 "Other Settings" -> "Configuration" 섹션에서 "Microphone Usage Description"을 추가해야 합니다:

Microphone Usage Description in Player Settings for iOS
iOS용 Player Settings에서 마이크 사용 설명.

또는 유니티에서 익스포트한 Xcode 프로젝트의 "Info.plist"에 NSMicrophoneUsageDescription 키를 추가해야 합니다.
문자열 값은 프로그램에서 마이크를 사용하는 이유를 설명합니다.
그렇지 않으면 다음이 발생할 수 있습니다:

  • Apple의 제출한 빌드 리젝
  • 작동 중단

macOS 마이크 권한

"Other Settings" -> "Configuration" 섹션의 프로젝트 "Player Settings"에서 "Microphone Usage Description"을 추가해야 합니다.
이를 통해 macOS 애플리케이션 번들 패키지 컨텐츠 내의 plist에 NSMicrophoneUsageDescription이 추가됩니다.
필요에 따라 수동으로 변경할 수도 있습니다.

그러나 다음 사용 권한도 추가해야 할 수 있습니다:

Plain Old Text

com.apple.security.device.audio-input
com.apple.security.device.microphone

여기를 더 읽어보세요.

그렇지 않으면 다음이 발생할 수 있습니다:

  • 작동 중단
  • 마이크 무음 오류: 오디오 입력이 녹음되지 않습니다.

Unity 마이크 이슈

  • 일부 유니티 버전에서, Microphone.Start() 가 널 포인터 예외 또는 0 채널을 리턴할 수 있습니다.
    후자의 경우 다음과 같은 예외가 발생할 수 있습니다:

    ArgumentOutOfRangeException: Must be Mono or Stereo

  • 일부 유니티 버전에서 마이크 클립에서 리포트된 샘플링 속도가 0일 수 있습니다.
    상세 내용은 이 유니티 이슈 추적 링크를 참고하세요.

  • 일부 유니티 버전에서는 Windows에서 입력 장치 전환이 되지 않습니다: 선택한 유니티 마이크 장치에 관계없이 기본 장치만 녹화에 사용됩니다.
    상세 내용은 이 유니티 이슈 추적 링크를 참고하세요.

Frequency 경고

다음과 같은 경고가 발생하는 경우:

MicWrapper does not support suggested frequency 48000 (min: 44100, max: 44100). Setting to 44100

하드웨어 제약으로 인하여 샘플링 속도를 설정할 수 없다는 의미입니다.

Local voice #1 audio source frequency 44100 and encoder sampling rate 24000 do not match. Resampling will occur before encoding.

이 경고는 마이크 주파수가 인코더 주파수와 일치하지 않을 때 발생하는 리 샘플링(이론상 성능에 영향을 미치는 것)에 관한 것입니다.
가능한 경우 마이크 주파수를 인코더와 동일한 값으로 설정하는 것이 좋습니다.

Opus 인코더는 수신 신호에 대해 몇 가지 고정 주파수를 지원합니다.
로컬 보이스를 생성할 때 이러한 고정 주파수 중에서 선택해야 합니다.
주파수가 다른 데이터를 로컬 보이스로 전송하는 것은 말이 되지 않습니다.
따라서 캡처 장치를 설정할 때 동일한 주파수를 설정합니다.
그러나 일부 장치에서는 임의 주파수(예: 안드로이드)로 설정할 수 없습니다.
이 경우 사용할 수 있고 지원되는 주파수에서 가장 근접한 주파수로 설정됩니다.

원시 라이브러리 업데이트

Unity Editor Warning For Native Library Files
원시 라이브러리 파일에 대한 유니티 에디터 경고Files.

유니티 에디터에서 플레이 모드에 있을 때 코드를 사용하여 원시 라이브러리 파일을 로드하는 경우 에디터를 닫지 않으면 해당 파일이 언로드되지 않습니다.
원시 라이브러리 파일을 가져오고 업데이트하려고 하면 원시 라이브러리 파일이 한 번 이상 플레이 모드에 들어갔기 때문에 원시 라이브러리 파일을 이미 메모리에 로드되어 있으므로 에디터에서 오류가 발생합니다(아래 스크린샷 참조).
에디터가 오픈되어 있는 동안 에디터 내부 또는 외부에서 수동으로 삭제하더라도 문제가 지속됩니다.
따라서 Photon Voice를 업데이트할 때 유니티 에디터를 다시 시작하고 업데이트하기 전에 플레이 모드로 전환하지 마십시오.

Unity Editor Native Library Import Error
유니티 편집기 원시 라이브러리 임포트 오류.

안드로이드 64-bit 지원

Photon Voice는 안드로이드 64-bit 호환 라이브러리를 버전 1.18 및 2.4부터 지원합니다.
최소로 지원되는 유니티 버전은 2017.4 LTS 및 2018.2입니다.
안드로이드 64-bit를 지원하는 유니티 버전의 전체 목록과 지침을 보려면 [이 링크]를 참조하세요(https://developer.android.com/distribute/best-practices/develop/64-bit#unity_developers).

iOS 스피커 이슈

유니티는 iOS(대부분의 iPhone)와 관련하여 라우드스피커(내부 스피커라고도 함) 또는 연결되거나 연결된 다른 헤드폰, 헤드셋 또는 이어피스 대신 기본 오디오 출력 장치로 "이어 스피커"(내부 스피커라고도 함)가 사용되는 것에 알려진 문제가 있습니다.

이 이슈는 때로 "낮은 음량"이라고도 말합니다.

유니티 이슈 추척 링크.

이 문제를 해결하려면 다음을 권장합니다:

  1. Photon Voice 1을 사용하고 계시면 Photon Voice 2로 업그레이드해 주십시오.
  2. Photon을 Recorder.MicrophoneType로 사용하세요.
  3. 1 및 2로 조치가 불가능한 경우:
    a. 유니티 2018.3 또는 그 이상을 사용하고 계시면, iOS 플레이어 설정에서 "Force iOS Speakers when Recording"으로 설정할 수 있습니다.
    b. "UnitySpeakerFix"를 사용합니다.
  4. 유니티 편집기 또는 Recorder.SetIosAudioSessionParameters 메소드를 사용하여 iOS 오디오 세션 매개 변수를 조정합니다.
    프리셋에서 값을 선택하거나 수동으로 사용자 지정 값으로 정의할 수 있습니다.
    iOS 오디오 세션에 대해서 여기를 읽어 보세요.
    사용자 지정 설정을 사용하는 것은 숙련되어야 하며, 많은 실험, 테스트, 시행착오를 필요로 하기 때문에 최후의 수단이 되어야 합니다.
    작동하지 않거나 더 잘 작동하는 조합이 테스트된 경우를 제외하고 프리셋 VoIP 또는 Game을 사용하는 것이 좋습니다.

iOS 무음/링 스위치 및 뮤트

설계상 대부분의 iOS 오디오 세션 카테고리는 구성 시 음소거가 허용되지 않습니다.
상세 내용은 여기에서 테이블 B-1을 확인해 보세요.
예를 들어 사용되는 기본 오디오 세션 카테고리는"PlayAndRecord" (AVAudioSessionCategoryPlayAndRecord) ("Game" 프리셋을 통해 설정)이며, 하드웨어를 "Silent"로 전환해도 애플리케이션이 음소거되지 않으며 볼륨을 0으로 낮출 수도 없습니다.

WebGL 지원

WebGL은 다음과 같은 이유로 지원되지 않는 플랫폼입니다:

  • WebGL은 스레드와 잘 작동하지 않으며 Photon Voice에서는 인코딩 및 디코딩에 스레드를 사용합니다.
  • 유니티 마이크는 WebGL에서 작동하지 않습니다.
  • WebGL과 함께 작동하는 Opus 코덱 라이브러리 빌드가 필요합니다.
  • WebGL 용 Photon은 WebSocketSecure 프로토콜만 지원합니다.
    UDP를 사용하면 Photon Voice가 더 잘 작동합니다.

이러한 사유로 인해 WebGL 플랫폼에 대한 지원을 중단하기로 결정했습니다.

Oculus OVR SDK

Oculus OVR SDK를 사용하는 경우 "Can Own Microphone"을 비활성화해야 합니다.
이 옵션은 Oculus OVR SDK에 독점적인 마이크 제어를 제공하며 Photon Voice Recorder가 마이크에 제대로 접근하지 못하게 할 수 있습니다.

여기서 찾을 수 있습니다:
"LocalAvatarWithGrab" 또는 "(+)LocalAvatar" GameObject -> "Ovr Avatar (Script)" component -> "Can Own Microphone" 확인란을 해제합니다.

에코 또는 노이즈

우선, 항상 최신 Photon Voice 2로 업데이트하십시오.

에코를 발생할 수 있는 사항들:

  • 서로 충분히 멀리 떨어져 있지 않은 여러 기기를 사용하여 테스트하여 한 장치의 마이크 입력이 다른 장치의 스피커에서 출력을 얻는 경우.
  • 디버그 에코를 사용하여 테스트: Recorder.DebugEchoModetrue로 설정.
  • 동일한 컴퓨터에서 여러 클라이언트를 사용하여 테스트.

에코 또는 노이즈를 줄이기 위해 노력해야 할 사항은 다음과 같습니다.

  • 기본 오디오 입력 플러그인: Photon 마이크 유형을 사용.
  • 소프트웨어 오디오 프로세싱(WebRTC 기반): 레코더로 동일 GameObject로 WebRtcAudioDsp를 붙여주고, AEC / AEC 모바일 및 NoiseSuppression을 활성화합니다.

헤드폰 사용으로 문제가 해결된 경우, 다른 앱처럼 더 나은 오디오 환경을 위해 헤드폰 사용이 권장된다는 메시지를 사용자에게 추가(예, 시작 화면 표시 후) 할 것을 권장합니다.

낮은 음량

낮음 음량 문제가 입력인지 출력인지를 먼저 파악해야 합니다.
오디오 클립 파일(음량이 정상인 경우)을 입력 소스 + DebugEchoMode로 사용하여 파악할 수 있습니다.
출력일 경우 스피커 볼륨을 높이거나 출력 오디오 장치와 관련된 문제를 해결해야 합니다.
입력이고 입력 소스가 마이크인 경우:

대상 플랫폼에 따라 다음을 선택할 수 있습니다.

  1. Photon 마이크 유형을 사용합니다.
  2. 사용 중인 Recorder 컴포넌트 옆에 WebRtcAudioDsp 컴포넌트를 추가하고(컴파일 시 또는 레코더가 시작되기 전 런타임에) "AGC"(Automatic Gain Control)를 활성화한 다음 필요에 따라 "AGC Compression Gain"을 조정합니다.
  3. 사용 중인 Recorder 컴포넌트 옆에 MicAmplifier 컴포넌트를 추가하고(컴파일 시 또는 레코더가 시작되기 전 실행 시) 값을 조정합니다.

고음

반복 재생 이슈를 설명하는 데 사용되는 가장 일반적인 키워드이기 때문에 이 섹션의 이름은 '높음'이지만, 여기서는 다른 재생 문제의 해결 방법도 제시합니다. 뮤직 스트리밍에 대한 플레이백 설정을 조정하는 방법에 대한 몇 가지 팁도 공유합니다.

Photon Voice Speaker 재생에서 따라잡기 위해 몇 초 동안 음높이가 바뀌는 것을 가끔 볼 수 있습니다.

이 현상은 네트워크 지연 변동(2.20에서 발생)을 더 잘 처리할 수 있도록 오디오 플레이어(UnityAudioOut)에서 코드를 변경한 결과입니다.

이 문제를 해결하기 위해 (v2.22에서) 재생 지연을 조정하기 위한 몇 가지 매개 변숫값을 추가했습니다.

PhotonVoiceNetwork.Instance.SetGlobalPlaybackDelaySettings / VoiceConnection.SetGlobalPlaybackDelaySettings를 통한 전역적으로 또는 스피커 별로 (speaker.SetPlaybackDelaySettings)를 통해 고급 재생 지연을 설정(PlaybackDelaySettings)할 수 있습니다.
편집기 또는 코드로 설정할 수 있습니다.

재생 지연 설정:

  • MinDelaySoft: 타겟 지연의 하한선: 오디오 플레이어는 지연을 이 값 이상으로 유지하려고 합니다. 기본값은 200입니다.
  • MaxDelaySoft: 타겟 지연의 상한선: 오디오 플레이어가 지연을 이 값 이하로 유지하려고 합니다. 기본값은 400입니다.
  • MaxDelayHard: 오디오 플레이어는 지연이 이 값을 초과하지 않도록 보장합니다. 기본값은 1000입니다.

재생 동작:

  • 지연이 MinDelaySoftMaxDelaySoft 사이에 있는 동안 아무 일도 일어나지 않습니다.
  • 지연이 MaxDelaySoftMaxDelayHard 사이에 있다면, 입력 스트림을 따라잡기 위해 데이터가 다시 샘플링됩니다.
  • 지연 > MaxDelayHard 인 경우, 목푯값으로 설정. (MinDelaySoftMaxDelaySoft 의 평균, 기본값 : (200 + 400) / 2 = 300).

조건:

  • 0 <= MinDelaySoft.
  • MaxDelaySoft > MinDelaySoft.
  • MaxDelayHard <= MaxDelaySoft 인 경우: 이 경우에는 다시 샘플링을 하지 않습니다.

힌트:

좋은 값을 찾을 때까지 지연 값을 조정하는 것이 좋습니다.

  • 첫 번째 단계로 MaxDelayHard <= MaxDelaySoft로 설정하여 재생 시 리 샘플링을 비활성화합니다. 이것은 특히 뮤직 스트리밍에 중요합니다.
  • 일시 중지를 방지하려면, 드문 일시 중지가 음성에서는 인식되지 않지만 음악에서 분명하게 들릴 수 있으므로 지연을 늘립니다.
  • 음악 스트리밍을 위해 훨씬 더 높은 MinDelaySoft(500-1000ms 및 이에 따른 MaxDelaySoft를 조정)를 추천합니다.
  • 시도해 볼 만한 또 다른 옵션: 신뢰할 수 있는 전송(Recorder.ReliableMode를 통해 활성화)입니다. 유튜브는 큰 지연을 통해 신뢰성 있게 전송하기 때문에 그만큼 좋습니다.
  • 기본 조합으로 시작:200, 400, 1000 그리고 나서 200, 400,400 이후 MaxDelaySoft > MinDelaySoft (두 배 OK, 즉 MaxDelaySoft = 2 * MinDelaySoft)를 유지하며 MinDelaySoft를 늘리면서 "MinDelaySoft"를 늘려봅니다. 단계는 100 ms 또는 200 ms 일 수도 있고 한 번에 두 배가 될 수도 있습니다(예: (200, 400, 400) -> (300, 600, 600) 또는 (400, 800, 800) 등).

문제가 지속되면 다음을 수행합니다:

  • //#define USE_ONAUDIOFILTERREAD에 대한 주석을 없애고 좋아졌는지 확인합니다. OnAudioFilterRead 콜백을 통해 유니티의 내장 오디오 파이프라인을 사용하는 플레이 방법이며 3D 배치를 지원하지 않습니다.
  • 또한 재생을 위한 IAudioOut 구현을 만들어 Speaker에서 사용할 수 있습니다.

Photon Microphone 타입 사용 시 안드로이드 볼륨 제어

안드로이드에는 볼륨 슬라이더가 있습니다:

  • 미디어 볼륨: 음악, 동영상, 게임, 기타 미디어
  • 통화 볼륨: 통화하는 동안 상대편의 볼륨.
    통화할 때에만 사용 가능.
  • 링 볼륨: 전화 수신음, 알림.
  • 알람 볼륨

오디오 세션 모드에 따라 시스템은 하드웨어 버튼에 할당할 슬라이더를 자동으로 선택합니다.
여기에서 더 확인해 보세요.

Photon 마이크 타입과 함께 Recorder를 사용하는 경우, 하드웨어 AEC를 사용할 수 있도록 단말기가 음성 통화 모드로 전환됩니다.
이 경우 볼륨 버튼은 통화 볼륨을 조정합니다.
이 볼륨은 미디어 볼륨에 의해 제어되는 유니티 출력에는 영향을 주지 않습니다.

볼륨을 변경할 때 미디어 볼륨 슬라이더로 전환해 볼 수 있습니다.

또한 유니티 마이크 유형을 WebRtcAudioDsp와 함께 사용할 수 있으며 AEC, NoiseSuppression, AGC 및 더 나은 VAD를 가지고 있습니다.

Unity Microphone Type - Media Volume Slider
Unity Microphone 타입 - 미디어 볼륨 슬라이더
Unity Microphone Type - Volume Sliders
Unity Microphone 타입 - 볼륨 슬라이더
Photon Microphone Type - Call Volume Slider
Photon Microphone 타입 - 통화 볼륨 슬라이더r
Photon Microphone Type - Volume Sliders
Photon Microphone 타입 - 볼륨 슬라이더
Back to top