دردشة الصوت

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

دردشة الصوت هي ميزة تتيح التواصل الصوتي الفوري بينك وبين لاعبين آخرين. وهي متاحة فقط للأماكن التي تدعم حد أقصى من 100 لاعب.

مستخدمان يتحدثان بالصوت داخل لعبة.

تفعيل دردشة الصوت

تُفعَّل دردشة الصوت افتراضيًا للمستخدمين الذين تتجاوز أعمارهم 13 عامًا والذين تم التحقق منهم على جميع الألعاب الجديدة التي يصل عدد اللاعبين فيها إلى 100. لتفعيل الصوت للألعاب الحالية أو تعطيله للألعاب الجديدة:

  1. افتح لعبتك في الاستوديو.
  2. افتح ملف ⟩ إعدادات التجربة.
  3. انتقل إلى علامة التبويب التواصل في الجانب الأيسر من النافذة.
  4. قم بتبديل تفعيل دردشة الصوت إلى الإعداد الذي تريده.
  5. اختياري
    لزيادة التواصل بين اللاعبين داخل لعبتك، قم بتفعيل تفعيل الكاميرا للسماح للاعبين المؤهلين بتحريك شخصياتهم مع تحركاتهم.
  6. انشر المكان لحفظ التغييرات.

من خلال تفعيل هذا الإعداد، يمكن للمستخدمين المؤهلين الذين تتجاوز أعمارهم 13 عامًا الاشتراك في دردشة الصوت ضمن لعبتك. يتطلب تفعيل دردشة الصوت استخدام واجهة برمجة التطبيقات لتحويل الكلام إلى نص.

ضبط الحد الأقصى لعدد اللاعبين

إذا قمت سابقًا بتعيين الحد الأقصى لعدد اللاعبين في مكان ما لأكثر من 100، فستحتاج إلى تقليله لدعم دردشة الصوت.

  1. في التنقل الجانبي من نافذة إعدادات التجربة، اختر الأماكن. ستظهر كل الأماكن داخل لعبتك.
  2. انقر على زر بجوار المكان الذي يضم أكثر من 100 لاعب، ثم اختر تهيئة المكان.
  3. في حقل الحد الأقصى للاعبين، أدخل أي رقم أقل من أو يساوي 100.
  4. انقر على زر حفظ ثم انشر لحفظ التغييرات.

عند تحديث الحد الأقصى لعدد اللاعبين في مكان ما إلى أقل من 100، قد توجد خوادم تمت تهيئتها مسبقًا لعدد مختلف أعلى. نظرًا لأن تلك الخوادم لن تدعم دردشة الصوت، يُنصح بـ إعادة تشغيل الخوادم.

تخصيص سلوك الصوت

تكون دردشة الصوت افتراضية مبنية على القرب، حيث تعدل حجم الصوت للمشاركين بناءً على مدى قربهم من بعضهم البعض. ومع ذلك، يمكنك تعيين UseAudioApi إلى Enabled للسيطرة على كيفية إعداد واستخدام الأصوات في لعبتك.

إذا لم يظهر VoiceChatService بالفعل:

  1. انقر بزر الماوس الأيمن في نافذة المستكشف واختر عرض الخدمات… من قائمة السياق.

  2. اختر VoiceChatService في نافذة منبثقة وانقر على إدراج. ستظهر الخدمة في تسلسل المستكشف.

    VoiceChatService في تسلسل المستكشف
  3. مع اختيار VoiceChatService، تأكد من تعيين UseAudioApi إلى Enabled في نافذة الخصائص. قد يكون ذلك قد تم بالفعل من أجلك.

دردشة قائمة على الفريق

لتنفيذ دردشة قائمة على Team حيث يمكن فقط لزملاء الفريق سماع بعضهم البعض، يمكنك استخدام Script التالية داخل ServerScriptService:

دردشة الفريق

local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- يفترض أن هناك جهاز إدخال صوت واحد فقط لكل لاعب، مرتبط بكائن اللاعب
-- هذا موفر لك إذا كانت VoiceChatService.EnableDefaultVoice صحيحة
-- قد يحتاج إلى إعادة تشكيل لعمومية أكبر إذا وضعت كائنات AudioDeviceInput في أماكن أخرى
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
-- السماح فقط لزملاء الفريق بسماع بعضهم
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)

دردشة غير مكانية

اعتمادًا على احتياجات لعبتك، قد يكون من الأفضل سماع الآخرين بنفس الحجم، بغض النظر عن موقعهم الجغرافي. إذا قمت بتعطيل دردشة الصوت الافتراضية، يمكنك بعد ذلك تنفيذ دردشة صوتية غير مكانية عبر Script التالية ضمن ServerScriptService:

دردشة غير مكانية

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
-- إعداد شريط تمرير للحجم العالمي لصوت الجميع
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
-- توجيه إدخال ميكروفون كل لاعب جديد إلى شريط تمرير الحجم العالمي
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)

تعطيل للدردشة في أماكن معينة

إذا كنت لا تريد تفعيل دردشة الصوت لكل مكان ضمن لعبتك، يمكنك تعطيلها داخل أماكن محددة ستكون مؤهلة لدردشة الصوت.

لتعطيل دردشة الصوت لمكان معين ضمن لعبة:

  1. انقر بزر الماوس الأيمن في نافذة المستكشف واختر عرض الخدمات… من قائمة السياق.

  2. اختر VoiceChatService في نافذة منبثقة وانقر على إدراج. ستظهر الخدمة في تسلسل المستكشف.

    VoiceChatService في تسلسل المستكشف
  3. مع اختيار VoiceChatService، قم بتعطيل EnableDefaultVoice في نافذة الخصائص.

  4. انشر المكان لحفظ التغييرات وأعد تشغيل الخوادم لضمان سريان التغيير لجميع الخوادم التي تعمل حاليًا في لعبتك.

تحقق من الحالة

يمكنك التحقق مما إذا كان اللاعب قد قام بتمكين دردشة الصوت عن طريق استدعاء IsVoiceEnabledForUserIdAsync() في LocalScript، أو في Script مع تعيين RunContext إلى Enum.RunContext.Client.

برنامج نصي عميل - تحقق من حالة دردشة الصوت

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("تم تفعيل دردشة الصوت!")
end
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.