Obrolan Suara

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Obrolan Suara adalah fitur yang memungkinkan komunikasi lisan secara real-time antara Anda dan pemain lainnya. Fitur ini hanya tersedia untuk tempat yang mendukung maksimum 100 pemain.

Dua pengguna mengobrol dengan suara di dalam permainan.

Aktifkan Obrolan Suara

Obrolan Suara diaktifkan secara default untuk pengguna terverifikasi berusia 13+ di semua permainan baru dengan maksimum 100 pemain. Mengaktifkan Obrolan Suara diperlukan untuk menggunakan API pengubah suara menjadi teks.

Untuk mengaktifkan suara untuk permainan yang sudah ada atau menonaktifkannya untuk yang baru:

  1. Buka permainan Anda di Studio.
  2. Buka FilePengaturan Pengalaman.
  3. Navigasikan ke tab Komunikasi di sisi kiri jendela.
  4. Alihkan Aktifkan Obrolan Suara ke pengaturan yang Anda inginkan.
  5. OPSIONAL
    Untuk komunikasi yang lebih baik di antara pemain dalam permainan Anda, alihkan Aktifkan Kamera untuk memungkinkan pemain yang memenuhi syarat menggerakkan avatar mereka dengan gerakan mereka.
  6. Terbitkan tempat tersebut untuk menyimpan perubahan.

Atur maksimum pemain

Jika Anda sebelumnya mengatur jumlah maksimum pemain di suatu tempat lebih dari 100, Anda perlu menguranginya untuk mendukung Obrolan Suara.

  1. Pilih permainan di Dasbor Pembuat dan kemudian navigasikan ke KonfigurasiTempat.
  2. Pilih tempat yang diinginkan dan kemudian navigasikan ke Akses di kolom kiri.
  3. Untuk Jumlah Pengunjung Maksimum, masukkan angka kurang dari atau sama dengan 100.
  4. Klik tombol Simpan Perubahan.

Ketika Anda memperbarui jumlah maksimum pemain di suatu tempat menjadi kurang dari 100, mungkin ada server yang sudah dikonfigurasi dengan angka yang berbeda dan lebih tinggi. Karena server tersebut tidak akan mendukung Obrolan Suara, disarankan untuk memulai ulang server.

Sesuaikan perilaku suara

Obrolan Suara bersifat berbasis jarak secara default, menyesuaikan volume peserta berdasarkan seberapa dekat mereka satu sama lain. Namun, Anda dapat mengatur UseAudioApi ke Enabled untuk mengontrol bagaimana suara diatur dan digunakan dalam permainan Anda.

Jika VoiceChatService belum muncul:

  1. Klik kanan di jendela Explorer dan pilih Tampilkan Layanan… dari menu konteks.

  2. Pilih VoiceChatService di jendela popup dan klik Sisipkan. Layanan tersebut akan muncul di hierarki Explorer.

    VoiceChatService di hierarki Explorer
  3. Dengan VoiceChatService yang dipilih, pastikan bahwa UseAudioApi diatur ke Enabled di jendela Properti. Ini mungkin sudah dilakukan untuk Anda.

Berbasis Tim

Untuk menerapkan obrolan berbasis Team di mana hanya rekan satu tim yang dapat mendengar satu sama lain, Anda dapat menggunakan Script berikut dalam ServerScriptService:

Obrolan Tim
local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Mengasumsikan hanya ada satu AudioDeviceInput per pemain, yang diparent ke objek Pemain
-- Ini disediakan untuk Anda jika VoiceChatService.EnableDefaultVoice adalah true
-- Mungkin perlu diubah untuk generalitas jika tempat Anda menempatkan objek AudioDeviceInput di tempat lain
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
-- Hanya izinkan rekan satu tim untuk saling mendengar
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)

Non-spasial

Bergantung pada kebutuhan permainan Anda, mungkin lebih masuk akal untuk mendengar orang lain dengan volume yang sama, terlepas dari lokasi geografis mereka. Jika Anda menonaktifkan Obrolan Suara default, Anda kemudian dapat menerapkan Obrolan Suara non-spasial melalui Script berikut dalam ServerScriptService:

Obrolan Non-Proksimitas
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
-- Siapkan penggeser volume global untuk suara semua orang
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
-- Arahkan input mikrofon setiap pemain baru ke penggeser 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)

Nonaktifkan per tempat

Jika Anda tidak ingin mengaktifkan Obrolan Suara untuk setiap tempat dalam permainan Anda, Anda dapat menonaktifkannya di tempat tertentu yang seharusnya memenuhi syarat untuk suara.

Untuk menonaktifkan Obrolan Suara untuk tempat tertentu dalam permainan:

  1. Klik kanan di jendela Explorer dan pilih Tampilkan Layanan… dari menu konteks.

  2. Pilih VoiceChatService di jendela popup dan klik Sisipkan. Layanan tersebut akan muncul di hierarki Explorer.

    VoiceChatService di hierarki Explorer
  3. Dengan VoiceChatService yang dipilih, nonaktifkan EnableDefaultVoice di jendela Properti.

  4. Terbitkan tempat tersebut untuk menyimpan perubahan dan mulai ulang server untuk memastikan perubahan tersebut berlaku untuk semua server yang saat ini menjalankan permainan Anda.

Periksa status

Anda dapat memeriksa apakah seorang pemain telah mengaktifkan Obrolan Suara dengan memanggil IsVoiceEnabledForUserIdAsync() dalam LocalScript, atau dalam Script dengan RunContext diatur ke Enum.RunContext.Client.

Skrip Klien - Periksa Status Obrolan Suara
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("Obrolan Suara diaktifkan!")
end
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.