// // /*=============================================================================== // // Copyright (C) 2024 PhantomsXR Ltd. All Rights Reserved. // // // // This file is part of the Assembly-CSharp. // // // // The Nin1 cannot be copied, distributed, or made available to // // third-parties for commercial purposes without written permission of PhantomsXR Ltd. // // // // Contact nswell@phantomsxr.com for licensing requests. // // ===============================================================================*/ using System.Collections.Generic; using System.Threading.Tasks; namespace Phantom.XRMOD.GameServices.Runtime { public interface IVoiceProvider { void Initialize(string _configuration, Voice3DProperties _voice3DProperties); void DeInitialize(); /// /// Join voice channel by channel name /// /// will join channel's name /// The channel type is indicated by the method used to initiate the channel join. /// JoinEchoChannelAsync joins an echo channel, JoinGroupChannelAsyc joins a group channel, /// and JoinPositionalChannelAsync joins a positional channel. /// void JoinVoiceChannel(string _channelName, JoinChannelType _joinChannelType); /// /// Leave current voice channel /// void LeaveVoiceChannel(); /// /// Create a new voice channel by channel name /// /// will create channel's name /// The channel type is indicated by the method used to initiate the channel join. /// JoinEchoChannelAsync joins an echo channel, JoinGroupChannelAsyc joins a group channel, /// and JoinPositionalChannelAsync joins a positional channel. /// void CreateVoiceChannel(string _channelName, JoinChannelType _joinChannelType); /// /// Mute self microphone /// /// Muted state, True is muted otherwise is unmuted void MuteSelfMicrophone(bool _muted); /// /// Mute other user microphone /// /// Muted state, True is muted otherwise is unmuted /// Channel name /// Mute target void MuteOtherMicrophone(bool _muted, string _channleId, string _userId); /// /// "Block" a user, bidirectionally muting audio/text between that player and the local user. /// /// Block state, True is blocked otherwise is unblock /// Channel name /// The userid to bidirectionally mute or unmute void BlockUser(bool _block, string _channelId, string _userId); /// /// All participant /// /// List GetParticipants(); VoiceParticipant GetParticipant(string _userId); } }