Chat de Voz

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Chat de Voz é um recurso que permite comunicação falada em tempo real entre você e outros jogadores. Ele está disponível apenas em locais que suportam um máximo de 100 jogadores.

Dois usuários conversando com voz dentro de um jogo.

Habilitar Chat de Voz

O Chat de Voz está habilitado por padrão para usuários verificados com 13 anos ou mais em todos os novos jogos com um máximo de 100 jogadores. Para ativar a voz para jogos existentes ou desabilitá-la para novos:

  1. Abra seu jogo no Studio.
  2. Abra Arquivo ⟩ Configurações da Experiência.
  3. Navegue até a aba Comunicação no lado esquerdo da janela.
  4. Ative Ativar Chat de Voz na sua configuração desejada.
  5. OPCIONAL
    Para uma melhor comunicação entre os jogadores dentro de seu jogo, ative Ativar Câmera para permitir que jogadores qualificados animem seu avatar com seus movimentos.
  6. Publique o local para salvar as alterações.

Ao habilitar essa configuração, usuários qualificados com 13 anos ou mais podem optar por usar o Chat de Voz dentro da sua v. Habilitar o Chat de Voz é necessário para usar a API de fala para texto.

Definir máximo de jogadores

Se você configurou anteriormente o número máximo de jogadores em um local para mais de 100, você precisará reduzi-lo para suportar o Chat de Voz.

  1. No painel de navegação à esquerda da janela de Configurações da Experiência, selecione Locais. Cada local dentro do seu jogo será exibido.
  2. Clique no botão ao lado do local com mais de 100 jogadores e selecione Configurar Local.
  3. No campo Máx Jogadores, insira um número menor ou igual a 100.
  4. Clique no botão Salvar e publique para salvar as alterações.

Quando você atualiza o número máximo de jogadores em um local para menos de 100, pode haver servidores configurados para um número diferente e maior. Como esses servidores não suportarão o Chat de Voz, é recomendável reiniciar os servidores.

Personalizar o comportamento da voz

O Chat de Voz é baseado em proximidade por padrão, ajustando o volume dos participantes com base na proximidade entre eles. No entanto, você pode definir UseAudioApi para Enabled para controlar como as vozes são configuradas e usadas em seu jogo.

Se VoiceChatService não aparecer:

  1. Clique com o botão direito na janela Explorer e selecione Mostrar Serviços… no menu de contexto.

  2. Selecione VoiceChatService na janela pop-up e clique em Inserir. O serviço aparecerá na hierarquia do Explorer.

    VoiceChatService na hierarquia do Explorer
  3. Com VoiceChatService selecionado, assegure-se de que UseAudioApi esteja definido para Enabled na janela de Propriedades. Isso pode já estar feito para você.

Baseado em equipe

Para implementar um chat baseado em Team, onde apenas os membros da equipe podem se ouvir, você pode usar o seguinte Script dentro de ServerScriptService:

Chat de Equipe

local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Assume que há apenas um AudioDeviceInput por jogador, parentado ao objeto Player
-- Isso é fornecido para você se VoiceChatService.EnableDefaultVoice for true
-- Pode precisar ser reestruturado para generalidade se seu local colocar objetos AudioDeviceInput em outro lugar
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
-- Permitir que apenas os membros da equipe se ouçam
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)

Não-espacial

Dependendo das necessidades do seu jogo, pode fazer mais sentido ouvir outros com volume igual, independentemente de sua localização geográfica. Se você desabilitar o Chat de Voz padrão, pode então implementar o Chat de Voz não-espacial através do seguinte Script dentro de ServerScriptService:

Chat Não-Proximidade

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
-- Configura um controle deslizante de volume global para a voz de todos
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
-- Roteia a entrada do microfone de cada novo jogador para o controle deslizante de volume global
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)

Desabilitar por local

Se você não quiser habilitar o Chat de Voz para todos os locais dentro do seu jogo, pode desativá-lo em locais específicos que, de outra forma, seriam elegíveis para voz.

Para desabilitar o Chat de Voz para um local específico dentro de um jogo:

  1. Clique com o botão direito na janela Explorer e selecione Mostrar Serviços… no menu de contexto.

  2. Selecione VoiceChatService na janela pop-up e clique em Inserir. O serviço aparecerá na hierarquia do Explorer.

    VoiceChatService na hierarquia do Explorer
  3. Com VoiceChatService selecionado, desative EnableDefaultVoice na janela de Propriedades.

  4. Publique o local para salvar as alterações e reinicie os servidores para garantir que a mudança tenha efeito para todos os servidores atualmente executando seu jogo.

Verificar status

Você pode verificar se um jogador ativou o Chat de Voz chamando IsVoiceEnabledForUserIdAsync() em um LocalScript, ou em um Script com RunContext definido para Enum.RunContext.Client.

Script do Cliente - Verificar Status do Chat de Voz

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("Chat de Voz habilitado!")
end
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.