文档

​
​

Development

User Acquisition

Monetization

工业

Vivox Core SDK

Vivox Core SDK

此页面不支持所选语言。
Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
      • Bluetooth profile management
      • Android SDK permission requirements
      • Android library requirements
      • Initialize Vivox Android services
      • Android speakerphone audio: Mono or stereo
      • Update the ProGuard rule file
      • Smart Platform Audio Management
      • Acoustic echo cancellation
      • Disable the Vivox SDK internal AEC
      • Hardware echo cancellation
      • Absolute paths for native libraries
      • Reduce Opus CPU load on low-powered Android devices
    • iOS app development
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation
  2. Android app development

Reduce Opus CPU load on low-powered Android devices

How to reduce Open CPU load.
阅读时间2 分钟
最后更新于 8 个月前

警告
Modifying Opus settings to reduce CPU load might negatively impact voice quality.
If you need to reduce the Vivox CPU load for lower-power Android devices, the Vivox SDK exposes the
vx_opus_set_complexity
method to set the algorithmic complexity of the codec to another value. The Vivox SDK uses a default complexity value of 9, but you can set this down to 0 to reduce the CPU usage. The lower the value, the more the audio quality is negatively affected. For example, in a speech signal test where the complexity value was decreased to 0, the encoding time decreased to 39% of the default settings (Complexity: 9, Bandwidth: Auto).
It is also possible to use the
vx_opus_set_bandwidth
method to change the audio bandwidth that Opus uses. If you pass the
vx_opus_bandwidth::opus_bandwidth_nb
value, this also reduces the CPU usage, but might have a significant negative impact on audio quality. Lowering the audio bandwidth makes the audio signal sound duller by discarding high frequency content.
Note that reducing complexity has more impact on CPU use reduction than changing the audio bandwidth. For example, a speech signal test with a complexity of 0 combined with
vx_opus_bandwidth::opus_bandwidth_nb
got the lowest CPU time of 27% of the CPU time of the default settings (Complexity: 9, Bandwidth: Auto).
If either of these methods do not reduce CPU use enough, you can use the Siren14 codec, which takes 14% of the CPU time of Opus at its default settings. To use the Siren14 codec, perform either of the following actions:
注意
These updates affect the audio quality for all session participants. This is because when you change the codec of a client, all participants also switch to that codec.
  • When you initialize the SDK, update
    vx_sdk_config_t
    to set the
    default_codecs_mask
    field to
    VIVOX_VANI_SIREN14
    .
  • When you create your connector object, update the
    vx_req_connector_create_t
    request to set
    default_codec
    to
    VIVOX_VANI_SIREN14
    .

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

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

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


    报告此页面的问题