Trò Chuyện Bằng Giọng Nói

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Trò Chuyện Bằng Giọng Nói là một tính năng cho phép giao tiếp bằng lời nói theo thời gian thực giữa bạn và những người chơi khác. Nó chỉ có sẵn cho các địa điểm hỗ trợ tối đa 100 người chơi.

Hai người dùng trò chuyện bằng giọng nói trong một trò chơi.

Kích hoạt Trò Chuyện Bằng Giọng Nói

Trò Chuyện Bằng Giọng Nói được kích hoạt theo mặc định cho người dùng từ 13 tuổi trở lên đã được xác minh trên tất cả các trò chơi mới với tối đa 100 người chơi. Kích hoạt Trò Chuyện Bằng Giọng Nói là cần thiết để sử dụng API chuyển đổi giọng nói thành văn bản.

Để kích hoạt giọng nói cho các trò chơi hiện có hoặc tắt nó cho các trò chơi mới:

  1. Mở trò chơi của bạn trong Studio.
  2. Mở TệpCài đặt Trải Nghiệm.
  3. Điều hướng đến tab Giao tiếp ở bên trái của cửa sổ.
  4. Chuyển đổi Kích hoạt Trò Chuyện Bằng Giọng Nói sang cài đặt mong muốn của bạn.
  5. TÙY CHỌN
    Để tăng cường giao tiếp giữa các người chơi trong trò chơi của bạn, hãy bật Kích hoạt Camera để cho phép những người chơi đủ điều kiện có thể hoạt hình hóa nhân vật của họ theo chuyển động của họ.
  6. Xuất bản địa điểm để lưu các thay đổi.

Đặt số lượng người chơi tối đa

Nếu bạn đã đặt số lượng người chơi tối đa trong một địa điểm là hơn 100, bạn sẽ cần giảm nó xuống để hỗ trợ Trò Chuyện Bằng Giọng Nói.

  1. Chọn trò chơi trên Bảng điều khiển Người sáng tạo và sau đó điều hướng đến Cấu hìnhĐịa điểm.
  2. Chọn địa điểm mong muốn và sau đó điều hướng đến Truy cập trong cột bên trái.
  3. Đối với Số lượng Khách Tối đa, nhập một số nhỏ hơn hoặc bằng 100.
  4. Nhấp vào nút Lưu Thay Đổi.

Khi bạn cập nhật số lượng người chơi tối đa trong một địa điểm xuống dưới 100, có thể có các máy chủ đã được cấu hình với một số lượng khác, cao hơn. Vì những máy chủ đó sẽ không hỗ trợ Trò Chuyện Bằng Giọng Nói, nên được khuyến nghị khởi động lại máy chủ.

Tùy chỉnh hành vi giọng nói

Trò Chuyện Bằng Giọng Nói là dựa trên khoảng cách theo mặc định, điều chỉnh âm lượng của các người tham gia dựa trên mức độ gần gũi của họ với nhau. Tuy nhiên, bạn có thể đặt UseAudioApi thành Enabled để kiểm soát cách giọng nói được thiết lập và sử dụng trong trò chơi của bạn.

Nếu VoiceChatService không xuất hiện:

  1. Nhấp chuột phải trong cửa sổ Explorer và chọn Hiện Dịch vụ… từ menu ngữ cảnh.

  2. Chọn VoiceChatService trong cửa sổ pop-up và nhấp Chèn. Dịch vụ sẽ xuất hiện trong cấu trúc Explorer.

    VoiceChatService trong cấu trúc Explorer
  3. Với VoiceChatService được chọn, đảm bảo rằng UseAudioApiEnabled trong cửa sổ Thuộc tính. Điều này có thể đã được thực hiện cho bạn.

Dựa trên đội

Để triển khai trò chuyện dựa trên Team mà chỉ có đồng đội mới có thể nghe nhau, bạn có thể sử dụng Script sau trong ServerScriptService:

Trò Chuyện Đội
local Teams = game:GetService("Teams")
local function findAudioInput(forPlayer : Player) : AudioDeviceInput?
-- Giả định rằng chỉ có một AudioDeviceInput cho mỗi người chơi, được gán cho đối tượng Người chơi
-- Điều này được cung cấp cho bạn nếu VoiceChatService.EnableDefaultVoice là true
-- Có thể cần phải được làm lại cho tính tổng quát nếu địa điểm của bạn đặt các đối tượng AudioDeviceInput ở nơi khác
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
-- Chỉ cho phép đồng đội nghe nhau
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)

Không không gian

Tùy thuộc vào nhu cầu của trò chơi của bạn, có thể hợp lý hơn khi nghe những người khác với âm lượng bằng nhau, bất kể vị trí địa lý của họ. Nếu bạn tắt Trò Chuyện Bằng Giọng Nói mặc định, bạn có thể triển khai Trò Chuyện Bằng Giọng Nói không không gian thông qua Script sau trong ServerScriptService:

Trò Chuyện Không Dựa Trên Khoảng Cách
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
-- Thiết lập một thanh trượt âm lượng toàn cầu cho giọng nói của mọi người
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
-- Định tuyến đầu vào microphone của mỗi người chơi mới đến thanh trượt âm lượng toàn cầu
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)

Tắt theo địa điểm

Nếu bạn không muốn kích hoạt Trò Chuyện Bằng Giọng Nói cho mọi địa điểm trong trò chơi của bạn, bạn có thể tắt nó trong các địa điểm cụ thể mà lẽ ra sẽ đủ điều kiện cho giọng nói.

Để tắt Trò Chuyện Bằng Giọng Nói cho một địa điểm cụ thể trong một trò chơi:

  1. Nhấp chuột phải trong cửa sổ Explorer và chọn Hiện Dịch vụ… từ menu ngữ cảnh.

  2. Chọn VoiceChatService trong cửa sổ pop-up và nhấp Chèn. Dịch vụ sẽ xuất hiện trong cấu trúc Explorer.

    VoiceChatService trong cấu trúc Explorer
  3. Với VoiceChatService được chọn, tắt EnableDefaultVoice trong cửa sổ Thuộc tính.

  4. Xuất bản địa điểm để lưu các thay đổi và khởi động lại máy chủ để đảm bảo thay đổi có hiệu lực cho tất cả các máy chủ hiện đang chạy trò chơi của bạn.

Kiểm tra trạng thái

Bạn có thể kiểm tra xem một người chơi đã kích hoạt Trò Chuyện Bằng Giọng Nói hay chưa bằng cách gọi IsVoiceEnabledForUserIdAsync() trong một LocalScript, hoặc trong một Script với RunContext được đặt thành Enum.RunContext.Client.

Kịch bản Khách - Kiểm Tra Trạng Thái Trò Chuyện Bằng Giọng Nói
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("Trò Chuyện Bằng Giọng Nói đã được kích hoạt!")
end
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.