Stemchat

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.

Stemchat is een functie die realtime, gesproken communicatie tussen jou en andere spelers mogelijk maakt. Het is alleen beschikbaar voor plaatsen die een maximum van 100 spelers ondersteunen.

Twee gebruikers chatten met stem binnen een spel.

Stemchat inschakelen

Stemchat is standaard ingeschakeld voor geverifieerde 13+ gebruikers in alle nieuwe spellen met een maximum van 100 spelers. Stemchat inschakelen is vereist om de spraak-naar-tekst API te gebruiken.

Om stem voor bestaande spellen te activeren of uit te schakelen voor nieuwe:

  1. Open je spel in Studio.
  2. Open Bestand > Ervaringsinstellingen.
  3. Navigeer naar het tabblad Communicatie aan de linkerkant van het venster.
  4. Zet Stemchat inschakelen op de gewenste instelling.
  5. OPTIEEL
    Voor betere communicatie tussen spelers binnen je spel, zet Camera inschakelen aan om in aanmerking komende spelers hun avatar te laten animeren met hun beweging.
  6. Publiceer de plaats om de wijzigingen op te slaan.

Stel maximaal aantal spelers in

Als je eerder het maximale aantal spelers in een plaats op meer dan 100 hebt ingesteld, moet je dit verlagen om Stemchat te ondersteunen.

  1. Selecteer het spel op het Creator Dashboard.
  2. Navigeer in de navigatie aan de linkerkant naar Configuraties > Plaatsen.
  3. Selecteer de gewenste plaats en navigeer vervolgens naar Toegang in de linkerkolom.
  4. Voor Maximaal aantal bezoekers, voer een getal in dat kleiner is dan of gelijk aan 100.
  5. Klik op de knop Wijzigingen opslaan.

Wanneer je het maximale aantal spelers in een plaats bijwerkt naar minder dan 100, kunnen er al servers zijn geconfigureerd naar een ander, hoger aantal. Aangezien die servers Stemchat niet ondersteunen, wordt aanbevolen om servers opnieuw op te starten.

Pas stemgedrag aan

Stemchat is standaard proximity-based, waarbij het volume van deelnemers wordt aangepast op basis van hoe dicht ze bij elkaar zijn. Je kunt echter UseAudioApi instellen op Enabled om controle te krijgen over hoe stemmen zijn ingesteld en gebruikt in je spel.

Als VoiceChatService nog niet verschijnt:

  1. Klik met de rechtermuisknop in het Explorer-venster en selecteer Toon Services… in het contextmenu.

  2. Selecteer VoiceChatService in het pop-upvenster en klik op Invoegen. De service verschijnt in de Explorer-hiërarchie.

    VoiceChatService in Explorer-hiërarchie
  3. Zorg ervoor dat UseAudioApi is ingesteld op Enabled in het Eigenschappen-venster. Dit kan al voor je zijn gedaan.

Team-gebaseerd

Om Team-gebaseerde chat te implementeren waarbij alleen teamgenoten elkaar kunnen horen, kun je de volgende Script binnen ServerScriptService gebruiken:

Team Chat
local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Gaat ervan uit dat er slechts één AudioDeviceInput per speler is, gekoppeld aan het Speler-object
-- Dit wordt voor je verzorgd als VoiceChatService.EnableDefaultVoice waar is
-- Moet mogelijk opnieuw worden ontworpen voor generaliteit als je plaats AudioDeviceInput-objecten elders plaatst
return forPlayer:FindFirstChildWhichIsA("AudioDeviceInput")
end
local function onTeamChanged(player : Player)
local team = player.Team
if not team then return end
local device = findAudioInput(player)
if not device then return end
-- Sta alleen teamgenoten toe om elkaar te horen
device.AccessType = Enum.AccessModifierType.Allow
local allowed = {}
for _, player : Player in team:GetPlayers() do
table.insert(allowed, player.UserId)
end
device:SetUserIdAccessList(allowed)
end
local function onTeamAdded(team : Team)
team.PlayerAdded:Connect(onTeamChanged)
team.PlayerRemoved:Connect(onTeamChanged)
end
for _, team : Team in Teams:GetTeams() do
onTeamAdded(team)
end
Teams.ChildAdded:Connect(function(child : Instance)
if child:IsA("Team") then
onTeamAdded(child)
end
end)

Niet-ruimtelijk

Afhankelijk van de behoeften van je spel, kan het logischer zijn om anderen met gelijke volume te horen, ongeacht hun geografische locatie. Als je standaard Stemchat uitschakelt, kun je vervolgens niet-ruimtelijke Stemchat implementeren via de volgende Script binnen ServerScriptService:

Non-Proximity Chat
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function wireUp(source : Instance, target : Instance)
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = source
end
-- Stel een globale volumeregelaar in voor ieders stem
local volumeSlider = Instance.new("AudioFader", Workspace)
local output = Instance.new("AudioDeviceOutput", Workspace)
wireUp(volumeSlider, output)
local function onPlayerAdded(player : Player)
local device = Instance.new("AudioDeviceInput", player)
device.Player = player
-- Route de microfooninvoer van elke nieuwe speler naar de globale volumeregelaar
wireUp(device, volumeSlider)
end
for _, player in Players:GetPlayers() do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
LocalScript
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local function onDescendantAdded(descendant : Instance)
if descendant:IsA("Wire") then
descendant:Destroy()
end
end
for _, descendant in player:GetDescendants() do
onDescendantAdded(descendant)
end
player.DescendantAdded:Connect(onDescendantAdded)

Uitschakelen per plaats

Als je Stemchat niet voor elke plaats binnen je spel wilt inschakelen, kun je het uitschakelen binnen specifieke plaatsen die anders stem-geschikt zouden zijn.

Om Stemchat voor een specifieke plaats binnen een spel uit te schakelen:

  1. Klik met de rechtermuisknop in het Explorer-venster en selecteer Toon Services… in het contextmenu.

  2. Selecteer VoiceChatService in het pop-upvenster en klik op Invoegen. De service verschijnt in de Explorer-hiërarchie.

    VoiceChatService in Explorer-hiërarchie
  3. Zorg ervoor dat EnableDefaultVoice is uitgeschakeld in het Eigenschappen-venster.

  4. Publiceer de plaats om de wijzigingen op te slaan en herstart servers om ervoor te zorgen dat de wijziging van kracht wordt voor alle servers die momenteel je spel draaien.

Controleer status

Je kunt controleren of een speler Stemchat heeft ingeschakeld door IsVoiceEnabledForUserIdAsync() aan te roepen in een LocalScript, of in een Script met RunContext ingesteld op Enum.RunContext.Client.

Client Script - Controleer Stemchat Status
local Players = game:GetService("Players")
local VoiceChatService = game:GetService("VoiceChatService")
local localPlayer = Players.LocalPlayer
local success, enabled = pcall(function()
return VoiceChatService:IsVoiceEnabledForUserIdAsync(localPlayer.UserId)
end)
if success and enabled then
print("Stemchat ingeschakeld!")
end
©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.