Apprendre
Classe de moteur
VoiceChatService
Création impossible
Service

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.



Référence API
Propriétés
DefaultDistanceAttenuation
Sécurité des plugins
Lecture parallèle
Capacités : Audio, Chat
VoiceChatService.DefaultDistanceAttenuation:Enum.VoiceChatDistanceAttenuationType

EnableDefaultVoice
Sécurité des plugins
Lecture parallèle
Capacités : Audio, Chat
VoiceChatService.EnableDefaultVoice:boolean

UseAudioApi
Sécurité des plugins
Lecture parallèle
Capacités : Audio, Chat
VoiceChatService.UseAudioApi:Enum.AudioApiRollout

Méthodes
GetChatGroupsAsync
Rendement
Capacités : Audio, Chat
VoiceChatService:GetChatGroupsAsync(players:Instances):{any}
Paramètres
players:Instances
Retours
Échantillons de code
TéléporterJoueurAuMeilleurServeurDeChat
-- Script serveur
local VoiceChatService = game:GetService("VoiceChatService")
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local TARGET_PLACE_ID = 1234567890 -- ID du lieu de destination
--[[
État du serveur universel en mode stub.
En pratique, ces données pourraient être stockées et mises à jour à l'aide de MemoryStore
ou d'un autre système backend.
Exemple de structure:
ActiveServers = {
{
serverId = "abc",
accessCode = "code-serveur-réservé",
groupUserCounts = {
groupA = 12,
groupB = 5
}
},
{
serverId = "def",
accessCode = "code-serveur-réservé",
groupUserCounts = {
groupB = 8
}
}
}
]]
local ActiveServers = {}
local function teleportPlayerToBestServer(player)
local success, chatGroups = pcall(function()
return VoiceChatService:GetChatGroupsAsync({ player })
end)
if not success or not chatGroups then
warn("Échec de la récupération des groupes de chat pour le joueur:", player.UserId)
return
end
-- Collecter tous les ID de groupes de chat auxquels le joueur est éligible
local playerGroupIds = {}
for _, group in ipairs(chatGroups) do
for _, groupId in ipairs(group) do
playerGroupIds[groupId] = true
end
end
local bestServer = nil
local bestUserCount = 0
-- Choisir le serveur avec le plus grand nombre d'utilisateurs compatibles
for _, server in ipairs(ActiveServers) do
local compatibleUserCount = 0
for groupId, userCount in pairs(server.groupUserCounts) do
if playerGroupIds[groupId] then
compatibleUserCount += userCount
end
end
if compatibleUserCount > bestUserCount then
bestUserCount = compatibleUserCount
bestServer = server
end
end
if not bestServer then
warn("Aucun serveur approprié trouvé pour le joueur:", player.UserId)
return
end
local ok, err = pcall(function()
TeleportService:TeleportToPrivateServer(
TARGET_PLACE_ID,
bestServer.accessCode,
{ player }
)
end)
if not ok then
warn("Échec du téléport:", err)
end
end
Players.PlayerAdded:Connect(teleportPlayerToBestServer)

IsVoiceEnabledForUserIdAsync
Rendement
Capacités : Audio, Chat
VoiceChatService:IsVoiceEnabledForUserIdAsync(userId:User):boolean
Paramètres
userId:User
Retours

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.