Ghi chú phát hành
Học
Lớp công cụ
AudioEmitter

*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.


Mẫu mã
Chơi một tài sản từ nhiều vị trí 3D cùng một lúc
local part1: BasePart = workspace.Speakers.Left
local part2: BasePart = workspace.Speakers.Right
local player: AudioPlayer = workspace.AudioPlayer
local leftEmitter = Instance.new("AudioEmitter")
local rightEmitter = Instance.new("AudioEmitter")
local toLeft = Instance.new("Wire")
local toRight = Instance.new("Wire")
leftEmitter.Parent = part1
rightEmitter.Parent = part2
toLeft.Parent = leftEmitter
toLeft.SourceInstance = player
toLeft.TargetInstance = leftEmitter
toRight.Parent = rightEmitter
toRight.SourceInstance = player
toRight.TargetInstance = rightEmitter
player:Play()

Tài Liệu Tham Khảo API
Thuộc Tính
AcousticSimulationEnabled
Đọc Song Song
Các khả năng: Audio
AudioEmitter.AcousticSimulationEnabled:boolean

AngleAttenuation
Bảo Mật Roblox
Đọc Song Song
Các khả năng: Audio
AudioEmitter.AngleAttenuation:Flyweight

AudioInteractionGroup
Đọc Song Song
Các khả năng: Audio
AudioEmitter.AudioInteractionGroup:string

DistanceAttenuation
Bảo Mật Roblox
Đọc Song Song
Các khả năng: Audio
AudioEmitter.DistanceAttenuation:Flyweight

PositionInstance
Đọc Song Song
Các khả năng: Audio
AudioEmitter.PositionInstance:Instance

PositionType
Đọc Song Song
Các khả năng: Audio
AudioEmitter.PositionType:Enum.EmitterPositionType

SimulationFidelity
Đã Lỗi Thời

Phương Pháp
GetAngleAttenuation
Các khả năng: Audio
AudioEmitter:GetAngleAttenuation():Dictionary
Lợi Nhuận

GetAudibilityFor
Các khả năng: Audio
AudioEmitter:GetAudibilityFor(listener:AudioListener):number
Tham Số
listener:AudioListener
Lợi Nhuận

GetConnectedWires
Các khả năng: Audio
AudioEmitter:GetConnectedWires(pin:string):{Wire}
Tham Số
pin:string
Lợi Nhuận

GetDistanceAttenuation
Các khả năng: Audio
AudioEmitter:GetDistanceAttenuation():Dictionary
Lợi Nhuận

GetInputPins
Các khả năng: Audio
AudioEmitter:GetInputPins():{any}
Lợi Nhuận

GetInteractingListeners
Các khả năng: Audio
AudioEmitter:GetInteractingListeners():{AudioListener}
Lợi Nhuận

GetOutputPins
Các khả năng: Audio
AudioEmitter:GetOutputPins():{any}
Lợi Nhuận

SetAngleAttenuation
Các khả năng: Audio
AudioEmitter:SetAngleAttenuation(curve:Dictionary):()
Tham Số
Lợi Nhuận
()

SetDistanceAttenuation
Các khả năng: Audio
AudioEmitter:SetDistanceAttenuation(curve:Dictionary):()
Tham Số
Lợi Nhuận
()
Mẫu mã
Sự giảm âm thanh khoảng cách tùy chỉnh
local Players = game:GetService("Players")
local emitterPart = Instance.new("Part")
emitterPart.Anchored = true
emitterPart.Position = Vector3.new(0, 0, 0)
emitterPart.Parent = workspace
local emitter: AudioEmitter = Instance.new("AudioEmitter")
emitter.Parent = emitterPart
local curve = {}
curve[10] = 1 -- Trong khoảng cách 10 studs, người nghe nghe thấy emitter này với âm lượng tối đa
curve[100] = 0.4 -- Ở khoảng cách 100 studs, người nghe nghe thấy emitter này với âm lượng 40%
curve[300] = 0 -- Ở bất kỳ khoảng cách nào xa hơn 300 studs, người nghe không thể nghe thấy emitter này
emitter:SetDistanceAttenuation(curve)
-- Nhân đôi đường cong giảm âm thanh từ cách thực thi giọng nói cũ
-- Giọng nói mặc định không sử dụng API âm thanh mới sử dụng giảm âm thanh bình phương từ 7 đến 80 studs
local MIN_DISTANCE = 7
local MAX_DISTANCE = 80
local CURVE_STEP_SIZE = 2
local voiceCurve = {}
for i = MIN_DISTANCE, MAX_DISTANCE, CURVE_STEP_SIZE do
voiceCurve[i] = ((i - MIN_DISTANCE) - (MAX_DISTANCE - MIN_DISTANCE)) ^ 2 / (MAX_DISTANCE - MIN_DISTANCE) ^ 2
end
voiceCurve[MAX_DISTANCE] = 0
local function setVoiceCurve(character)
local voiceEmitter: AudioEmitter = character:WaitForChild("AudioEmitter")
voiceEmitter:SetDistanceAttenuation(voiceCurve)
end
for _, player in Players:GetPlayers() do
if player.Character then
setVoiceCurve(player.Character)
end
player.CharacterAdded:Connect(setVoiceCurve)
end

Sự Kiện
WiringChanged
Các khả năng: Audio
AudioEmitter.WiringChanged(
connected:boolean, pin:string, wire:Wire, instance:Instance
Tham Số
connected:boolean
pin:string
wire:Wire
instance:Instance

©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.