Sesli Sohbet

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Sesli Sohbet, sizinle diğer oyuncular arasında gerçek zamanlı, sözlü iletişim sağlayan bir özelliktir. Sadece maksimum 100 oyuncuyu destekleyen yerlerde mevcuttur.

İki kullanıcının bir oyunda sesli sohbet etmesi.

Sesli Sohbeti Etkinleştir

Sesli Sohbet, maksimum 100 oyuncuya sahip tüm yeni oyunlar için doğrulanmış 13+ kullanıcılar için varsayılan olarak etkinleştirilmiştir. Mevcut oyunlar için sesi etkinleştirmek veya yeni oyunlar için devre dışı bırakmak için:

  1. Oyunuzu Studio'da açın.
  2. Dosya ⟩ Deneyim Ayarları'nı açın.
  3. Pencerenin sol tarafındaki İletişim sekmesine gidin.
  4. Sesli Sohbeti Etkinleştir seçeneğini istediğiniz ayara getirin.
  5. İSTEĞE BAĞLI
    Oyuncular arasında daha iyi iletişim sağlamak için, uygun oyuncuların avatarlarını hareketleriyle canlandırmalarına izin vermek için Kamerayı Etkinleştir seçeneğini açın.
  6. Değişiklikleri kaydetmek için yeri yayınlayın.

Bu ayarı etkinleştirerek, uygun 13+ kullanıcılar, bu özelliği destekleyen herhangi bir oyunda Sesli Sohbeti kullanmayı seçebilirler. Sesli Sohbeti etkinleştirmek, konuşma metni API'sini kullanmak için gereklidir.

Maksimum oyuncu sayısını ayarlayın

Eğer daha önce bir yerin maksimum oyuncu sayısını 100'den fazla olarak ayarladıysanız, Sesli Sohbeti desteklemek için bunu 100 veya daha az bir sayıya düşürmeniz gerekecektir.

  1. Deneyim Ayarları penceresinin sol tarafındaki navigasyonda Yerler'i seçin. Oyununuza ait her yer görüntülenecektir.
  2. 100'den fazla oyuncuya sahip yerin yanındaki butonuna tıklayın, ardından Yeri Yapılandır'ı seçin.
  3. Maksimum Oyuncular alanına 100 veya daha az bir sayı girin.
  4. Kaydet butonuna tıklayın ve ardından değişiklikleri kaydetmek için yayınlayın.

Bir yerin maksimum oyuncu sayısını 100'den az bir sayıya güncellediğinizde, daha önce farklı, daha yüksek bir sayıya ayarlanmış sunucular olabilir. Bu sunucular Sesli Sohbeti desteklemediğinden, sunucuları yeniden başlatmanız önerilir.

Ses davranışını özelleştir

Sesli Sohbet varsayılan olarak yakınlık tabanlıdır, katılımcıların ses seviyesini birbirlerine ne kadar yakın olduklarına göre ayarlar. Ancak, oyununuzda seslerin nasıl ayarlandığını ve kullanıldığını kontrol etmek için UseAudioApi'yı Enabled olarak ayarlayabilirsiniz.

Eğer VoiceChatService zaten görünmüyorsa:

  1. Explorer penceresinde sağ tıklayın ve bağlam menüsünden Hizmetleri Göster… seçeneğini seçin.

  2. Açılan pencerede VoiceChatService'i seçin ve Ekle'ye tıklayın. Hizmet, Explorer hiyerarşisinde görünecektir.

    Explorer hiyerarşisinde VoiceChatService
  3. VoiceChatService seçili iken, Özellikler penceresinde UseAudioApi'nın Enabled olarak ayarlandığından emin olun. Bu sizin için zaten yapılmış olabilir.

Takım tabanlı

Sadece takım arkadaşlarının birbirini duyabileceği Team tabanlı sohbeti uygulamak için, ServerScriptService içinde aşağıdaki Script'i kullanabilirsiniz:

Takım Sohbeti
local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Her oyuncu için yalnızca bir AudioDeviceInput olduğunu varsayar, bu da Player nesnesine bağlıdır
-- Sesli Sohbet Servisi.EnableDefaultVoice true olduğunda sizin için sağlanır
-- Eğer yeriniz AudioDeviceInput nesnelerini başka bir yere koyuyorsa, genel hale getirmek için yeniden çalıştırılması gerekebilir
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
-- Sadece takım arkadaşlarının birbirini duymasına izin ver
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)

Mekansal olmayan

Oyununuza bağlı olarak, coğrafi konumlarına bakılmaksızın diğerlerini eşit sesle duymak daha mantıklı olabilir. Eğer varsayılan Sesli Sohbeti devre dışı bırakırsanız, o zaman ServerScriptService içinde aşağıdaki Script ile mekansal olmayan Sesli Sohbeti uygulayabilirsiniz:

Mekansal Olmayan Sohbet
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
-- Herkesin sesi için küresel bir ses seviyesi kaydırıcı ayarlayın
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
-- Her yeni oyuncunun mikrofon girişini küresel ses seviyesi kaydırıcısına yönlendirin
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)

Yer başına devre dışı bırak

Eğer oyununuz içindeki her yer için Sesli Sohbeti etkinleştirmek istemiyorsanız, aksi takdirde sesli sohbet için uygun olan belirli yerlerde devre dışı bırakabilirsiniz.

Bir oyundaki belirli bir yer için Sesli Sohbeti devre dışı bırakmak için:

  1. Explorer penceresinde sağ tıklayın ve bağlam menüsünden Hizmetleri Göster… seçeneğini seçin.

  2. Açılan pencerede VoiceChatService'i seçin ve Ekle'ye tıklayın. Hizmet, Explorer hiyerarşisinde görünecektir.

    Explorer hiyerarşisinde VoiceChatService
  3. VoiceChatService seçili iken, Özellikler penceresinde EnableDefaultVoice'yi devre dışı bırakın.

  4. Değişiklikleri kaydetmek için yeri yayınlayın ve tüm sunucuların bu değişikliği uyguladığından emin olmak için sunucuları yeniden başlatın.

Durumu kontrol et

Bir oyuncunun Sesli Sohbeti etkinleştirip etkinleştirmediğini kontrol etmek için, IsVoiceEnabledForUserIdAsync() çağrısını bir LocalScript içinde veya Script içinde RunContextEnum.RunContext.Client olarak ayarlayarak yapabilirsiniz.

İstemci Scripti - Sesli Sohbet Durumunu Kontrol Et
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("Sesli Sohbet etkinleştirildi!")
end
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.