เรียนรู้
Engine Class
AudioEmitter

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่


สรุป
เหตุการณ์
WiringChanged(connected: boolean,pin: string,wire: Wire,instance: Instance):RBXScriptSignal
สมาชิกที่ได้รับทอด
ตัวอย่างโค้ด
เล่นอสังหาริมทรัพย์หนึ่งจากหลายตำแหน่ง 3D พร้อมกัน
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()

เอกสารอ้างอิงเกี่ยวกับ API
คุณสมบัติ
AcousticSimulationEnabled
อ่านพร้อมๆ กัน
ความสามารถ: Audio
AudioEmitter.AcousticSimulationEnabled:boolean

AngleAttenuation
การรักษาความปลอดภัยของ Roblox
อ่านพร้อมๆ กัน
ความสามารถ: Audio
AudioEmitter.AngleAttenuation:Flyweight

AudioInteractionGroup
อ่านพร้อมๆ กัน
ความสามารถ: Audio
AudioEmitter.AudioInteractionGroup:string

DistanceAttenuation
การรักษาความปลอดภัยของ Roblox
อ่านพร้อมๆ กัน
ความสามารถ: Audio
AudioEmitter.DistanceAttenuation:Flyweight

PositionInstance
อ่านพร้อมๆ กัน
ความสามารถ: Audio
AudioEmitter.PositionInstance:Instance

PositionType
อ่านพร้อมๆ กัน
ความสามารถ: Audio
AudioEmitter.PositionType:Enum.EmitterPositionType

SimulationFidelity
เลิกใช้แล้ว

วิธีการ
GetAngleAttenuation
ความสามารถ: Audio
AudioEmitter:GetAngleAttenuation():Dictionary
ส่งค่ากลับ

GetAudibilityFor
ความสามารถ: Audio
AudioEmitter:GetAudibilityFor(listener:AudioListener):number
พารามิเตอร์
listener:AudioListener
ส่งค่ากลับ

GetConnectedWires
ความสามารถ: Audio
AudioEmitter:GetConnectedWires(pin:string):{Wire}
พารามิเตอร์
pin:string
ส่งค่ากลับ

GetDistanceAttenuation
ความสามารถ: Audio
AudioEmitter:GetDistanceAttenuation():Dictionary
ส่งค่ากลับ

GetInputPins
ความสามารถ: Audio
AudioEmitter:GetInputPins():{any}
ส่งค่ากลับ

GetInteractingListeners
ความสามารถ: Audio
AudioEmitter:GetInteractingListeners():{AudioListener}
ส่งค่ากลับ

GetOutputPins
ความสามารถ: Audio
AudioEmitter:GetOutputPins():{any}
ส่งค่ากลับ

SetAngleAttenuation
ความสามารถ: Audio
AudioEmitter:SetAngleAttenuation(curve:Dictionary):()
พารามิเตอร์
ส่งค่ากลับ
()

SetDistanceAttenuation
ความสามารถ: Audio
AudioEmitter:SetDistanceAttenuation(curve:Dictionary):()
พารามิเตอร์
ส่งค่ากลับ
()
ตัวอย่างโค้ด
การลดความเข้มของระยะที่กำหนดเอง
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 -- ในระยะ 10 สตัด ผู้ฟังจะได้ยินเอมิตเตอร์นี้ที่ระดับเสียงเต็ม
curve[100] = 0.4 -- ที่ระยะ 100 สตัด ผู้ฟังจะได้ยินเอมิตเตอร์นี้ที่ระดับเสียง 40%
curve[300] = 0 -- ที่ระยะที่ไกลกว่า 300 สตัด ผู้ฟังไม่สามารถได้ยินเอมิตเตอร์นี้
emitter:SetDistanceAttenuation(curve)
-- ทำซ้ำโค้งการลดเสียงจากการใช้งานเสียงเก่า
-- เสียงเริ่มต้นที่ไม่มี API เสียงใหม่ใช้การลดเสียงแบบพาราโบลาหมายถึงตั้งแต่ 7 ถึง 80 สตัด
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

เหตุการณ์
WiringChanged
ความสามารถ: Audio
AudioEmitter.WiringChanged(
connected:boolean, pin:string, wire:Wire, instance:Instance
พารามิเตอร์
connected:boolean
pin:string
wire:Wire
instance:Instance

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ