文档

​
​

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
      • Direct voice audio access
        • Callback APIs
        • Callback usage
        • Read and alter audio data for each participant
      • In-game audio control
      • Muting
    • Couch co-op
    • Android app development
    • 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

Read and alter audio data for each participant

Managing individual participant audio data.
阅读时间1 分钟
最后更新于 8 个月前

The
pf_on_audio_unit_before_recv_audio_mixed
callback provides a parameter with type
vx_before_recv_audio_mixed_participant_data_t *
called
participants_data
. An example of how to use this pointer to access an array of separate participants’ audio data is shown in the code sample below.
注意
If you are upgrading your Vivox integration from v5.10, 5.11, or 5.12 be aware that the unique identifier for participants has changed in v5.13 and later versions. If you were using
participant_display_name
previously you need to change it to
participant_uri
.
void SDKSampleApp::OnBeforeReceivedAudioMixed(const char *session_group_handle, const char *initial_target_uri, vx_before_recv_audio_mixed_participant_data_t *participants_data, size_t num_participants){ std::string example_uri = “example_uri”; // Iterate over the multiple audio streams for (unsigned int i = 0; i < num_participants; i++) { auto &data = participants_data[i]; int channels_per_frame = data.channels_per_frame; std::string participant_uri = data.participant_uri; if (participant_uri == example_uri) { for (unsigned int f = 0; f < data.pcm_frame_count; f++) { for (unsigned int c = 0; c < channels_per_frame; c++) { // Use / modify the audio data. Here we're simply dividing the samples by 2. data.pcm_frames[(f * channels_per_frame) + c] /= 2; } } } }}

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

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

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


    报告此页面的问题