文档

​
​

Development

User Acquisition

Monetization

工业

Vivox Unreal SDK

Vivox Unreal SDK

此页面不支持所选语言。
Vivox
​
​
Vivox Unreal SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
    • Set up your project
    • Unity Authentication Service in Unreal
    • Create voice and text channels
    • Messaging
    • Audio management
    • Muting
    • In-game moderation
    • Android app development
    • iOS app development
      • Acoustic echo cancellation
      • Initialize the AVAudioSession on app startup
      • AVAudioSessionModeVoiceChat
      • AVAudioSession configuration when using WWise
      • iOS known limitations
        • Cannot set iOS device volume to 0 when Voice-Processing I/O unit is active
        • The iOS microphone recording indicator
        • AVAudioPlayer volume inconsistencies
        • Volume shifts
        • Restore audio volume
    • Server-side recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Real-time recording
    • Transmission
    • Troubleshooting
  • Tutorials
  • Reference
  1. Vivox Unreal SDK documentation

The iOS microphone recording indicator

Understand how the iOS microphone recording indicator works with Vivox.
阅读时间1 分钟
最后更新于 8 个月前

iOS displays the red bar/orange dot recording indicator while the microphone is in use. When an iOS device is muted by using IAudioDevices::SetMuted(bool value), the Vivox SDK accesses the capture device (microphone) but does not collect or transmit any audio. This results in the recording indicator displaying.
To hard mute and prevent the recording indicator from displaying, set the capture device to IAudioDevices::NullDevice():
// Assumes an IClient *MyClient;const IAudioDevice &NewActive = MyClient->AudioInputDevices().NullDevice();IAudioDevices::FOnSetActiveDeviceCompletedDelegate SetActiveDeviceCompletedCallback;SetActiveDeviceCompletedCallback.BindLambda([](VivoxCoreError Status, const FString DeviceId){ // DeviceId should match "No Device" UE_LOG(LogTemp, Log, TEXT("SetActiveDevice [Input] Completed (%d): %s"), Status, *DeviceId);});MyClient->AudioInputDevices().SetActiveDevice(NewActive, SetActiveDeviceCompletedCallback);
To unmute, set the capture device to IAudioDevices::CommunicationDevice():
// Assumes an IClient *MyClient;const IAudioDevice &NewActive = MyClient->AudioInputDevices().CommunicationDevice();IAudioDevices::FOnSetActiveDeviceCompletedDelegate SetActiveDeviceCompletedCallback;SetActiveDeviceCompletedCallback.BindLambda([](VivoxCoreError Status, const FString DeviceId){ // DeviceId should match "Default Communication Device" UE_LOG(LogTemp, Log, TEXT("SetActiveDevice [Input] Completed (%d): %s"), Status, *DeviceId);});MyClient->AudioInputDevices().SetActiveDevice(NewActive, SetActiveDeviceCompletedCallback);
注意
Hard muting or unmuting causes a brief interruption to all audio that is playing from the device.

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。


    报告此页面的问题