文档

​
​

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
      • Channel name criteria
      • Channel types
      • Echo channels
      • Positional channels
      • Volume differences
      • Channel identifiers for large scale games
      • Participant events
      • Channel webhooks
      • Join a channel
      • Leave a channel
      • Kick a user from a channel
      • Manage session groups
      • Audio injection
      • Methods for setting audio levels
      • Derumbler
      • Automatic connection recovery
    • Presence management
    • Messaging
    • Manage audio
    • 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

Audio injection

Broadcast audio from a file to all connected channels.
阅读时间3 分钟
最后更新于 8 个月前

注意
There is a known issue with the Vivox SDK in which the local playback of the injected audio only occurs if the file also has the same sample rate as the negotiated audio codec. Other players always hear the file correctly, regardless of the sample rate. For Windows, this usually is 48kHz.
Audio injection allows you to broadcast audio from a file to all connected sessions in a single session group. Injected audio is treated like a second capture device you are speaking into. This means that muting or disconnecting your input device does not stop others from hearing the file audio. However, muting yourself in a channel, stopping transmission to a channel, or disconnecting a channel's media stream does stop others from hearing the file audio. Because the played file is treated as speech, it will beheard by anyone that would typically hear the user. It also triggers speaking indicators and VU meters like speech does, and is heard by participants in accordance with the player's position and orientation in a 3D channel, or when in a 2D channel, from anywhere on the map.
Use cases for this feature include a player selecting pre-scripted audio clips in their character's voice saying things like "Enemy spotted!" or "Need healing!" to signal their situation, which is especially useful when the player does not have a microphone. Depending on your application, it might also be appropriate to let the user play music into the channel for everyone to listen to. When the file being injected ends, the
vx_evt_media_completion
event will trigger, you can use it to loop an audio track when complete or move to the next track in a playlist.
You can broadcast only one file at a time. Successfully completed
vx_req_sessiongroup_control_audio_injection
requests with a "start" control type will play the specified file from the beginning only if no file is already playing; a "restart" control type always begins playing the specified file from the beginning and replaces any file that was previously playing. You can stop file audio from playing at any time by making the request with a "stop" control type. Note that injecting file audio does not replace or otherwise prevent the user from speaking into their capture device and being heard as normal; it is considered to be an additional audio source.
The file also plays locally for the user while it is being transmitted to others to simulate the experience of file injection as a second spoken audio source. This means that a user playing a file into a non-positional or a positional channel hears the file slightly earlier than other participants, just like their own voice when speaking. The file plays with an echo in an echo channel, just like your own voice.
警告
Audio files broadcast with this feature must have a .wav extension and contain single channel, 16-bit PCM audio. Otherwise, the
vx_resp_sessiongroup_control_audio_injection
response returns VxErrorInvalidFormat, and the file does not play.

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

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

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


    报告此页面的问题