Czat głosowy

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Czat głosowy to funkcja umożliwiająca komunikację w czasie rzeczywistym za pomocą mowy między tobą a innymi graczami. Jest dostępna tylko w miejscach, które obsługują maksymalnie 100 graczy.

Dwóch użytkowników rozmawiających głosowo w grze.

Włącz czat głosowy

Czat głosowy jest domyślnie włączony dla zweryfikowanych użytkowników w wieku 13+ we wszystkich nowych grach z maksymalnie 100 graczami. Włączenie czatu głosowego jest wymagane do korzystania z API przekształcania mowy na tekst.

Aby aktywować czat głosowy dla istniejących gier lub wyłączyć go dla nowych:

  1. Otwórz swoją grę w Studio.
  2. Otwórz PlikUstawienia doświadczenia.
  3. Przejdź do zakładki Komunikacja po lewej stronie okna.
  4. Przełącz Włącz czat głosowy na pożądaną opcję.
  5. OPCJONALNE
    Aby zwiększyć komunikację między graczami w twojej grze, włącz Włącz kamerę, aby umożliwić uprawnionym graczom animowanie swojego awatara w zależności od ruchu.
  6. Opublikuj miejsce, aby zapisać zmiany.

Ustaw maksymalną liczbę graczy

Jeśli wcześniej ustawiłeś maksymalną liczbę graczy w miejscu na więcej niż 100, musisz ją zmniejszyć, aby wspierać czat głosowy.

  1. Wybierz grę na Panelu twórcy, a następnie przejdź do KonfigurujMiejsca.
  2. Wybierz pożądane miejsce, a następnie przejdź do zakładki Dostęp w lewej kolumnie.
  3. W polu Maksymalna liczba odwiedzających wprowadź liczbę mniejszą lub równą 100.
  4. Kliknij przycisk Zapisz zmiany.

Gdy zaktualizujesz maksymalną liczbę graczy w miejscu na mniej niż 100, mogą istnieć serwery już skonfigurowane na inną, wyższą liczbę. Ponieważ te serwery nie będą wspierać czatu głosowego, zaleca się ponowne uruchomienie serwerów.

Dostosuj zachowanie głosu

Czat głosowy jest domyślnie oparty na odległości, dostosowując głośność uczestników w zależności od tego, jak blisko siebie są. Możesz jednak ustawić UseAudioApi na Enabled, aby przejąć kontrolę nad tym, jak głosy są ustawiane i używane w twojej grze.

Jeśli VoiceChatService nie pojawia się już:

  1. Kliknij prawym przyciskiem myszy w oknie Eksplorator i wybierz Pokaż usługi… z menu kontekstowego.

  2. Wybierz VoiceChatService w oknie popup i kliknij Wstaw. Usługa pojawi się w hierarchii Eksploratora.

    VoiceChatService w hierarchii Eksploratora
  3. Z wybranym VoiceChatService upewnij się, że UseAudioApi jest ustawione na Enabled w oknie Właściwości. Może to być już dla ciebie zrobione.

Czat oparty na drużynach

Aby wdrożyć czat oparty na Team, w którym tylko członkowie drużyny mogą się słyszeć, możesz użyć następującego Script w ServerScriptService:

Czat drużynowy
local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Zakłada, że istnieje tylko jedno AudioDeviceInput na gracza, przypisane do obiektu gracza
-- To jest dostarczane dla ciebie, jeśli VoiceChatService.EnableDefaultVoice jest prawdziwe
-- Może wymagać przekształcenia dla ogólności, jeśli twoje miejsce umieszcza obiekty AudioDeviceInput gdzie indziej
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
-- Pozwól tylko członkom drużyny się słyszeć
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)

Czat nieprzestrzenny

W zależności od potrzeb twojej gry, może być bardziej sensowne, aby słyszeć innych z równą głośnością, niezależnie od ich lokalizacji geograficznej. Jeśli wyłączysz domyślny czat głosowy, możesz następnie wdrożyć czat głosowy nieprzestrzenny za pomocą następującego Script w ServerScriptService:

Czat nieprzestrzenny
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
-- Ustaw globalny suwak głośności dla głosu wszystkich
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
-- Przekieruj mikrofon każdego nowego gracza do globalnego suwaka głośności
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)

Wyłącz na poziomie miejsca

Jeśli nie chcesz włączać czatu głosowego dla każdego miejsca w swojej grze, możesz go wyłączyć w konkretnych miejscach, które w przeciwnym razie byłyby uprawnione do czatu głosowego.

Aby wyłączyć czat głosowy dla konkretnego miejsca w grze:

  1. Kliknij prawym przyciskiem myszy w oknie Eksplorator i wybierz Pokaż usługi… z menu kontekstowego.

  2. Wybierz VoiceChatService w oknie popup i kliknij Wstaw. Usługa pojawi się w hierarchii Eksploratora.

    VoiceChatService w hierarchii Eksploratora
  3. Z wybranym VoiceChatService wyłącz EnableDefaultVoice w oknie Właściwości.

  4. Opublikuj miejsce, aby zapisać zmiany i ponownie uruchom serwery, aby upewnić się, że zmiana wejdzie w życie dla wszystkich serwerów aktualnie uruchamiających twoją grę.

Sprawdź status

Możesz sprawdzić, czy gracz włączył czat głosowy, wywołując IsVoiceEnabledForUserIdAsync() w LocalScript, lub w Script z RunContext ustawionym na Enum.RunContext.Client.

Skrypt klienta - Sprawdź status czatu głosowego
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("Czat głosowy włączony!")
end
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.