AudioFilter
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
AudioFilter ปรับเนื้อหาความถี่ของสตรีมเสียงมันให้พินอินพุตหนึ่ง **** และพินออก **** หนึ่งพินซึ่งสามารถเชื่อมต่อกับ/จากโดย Wires``Class.AudioFilter ใช้คุณสมบัติ FilterType , Gain และ Q เพื่อกำหนดสิ่งที่ต้องทำรอบจุดตัดที่เฉพาะเจาะจง Frequency
ตัวอย่างโค้ด
ฟิลเตอร์เสียงสามารถใช้เพื่อเปลี่ยนเนื้อหาความถี่ของสตรีมเสียงในตัวอย่างนี้ ฟิลเตอร์เสียงใช้เพื่อทำให้การออกของ AudioEmitter มีเสียงเบาลงเมื่อมีผนังอยู่ระหว่างมันและ AudioListener
-- สมมติว่าพื้นที่ทำงานมีส่วนที่มีตัวเร่งเสียงและเครื่องเล่นเสียง และกล้องมีผู้ฟังเสียง
local RunService = game:GetService("RunService")
local part: BasePart = workspace.Part
local camera: Camera = workspace.CurrentCamera
local audioPlayer: AudioPlayer = part.AudioPlayer
local audioEmitter: AudioEmitter = part.AudioEmitter
local audioListener: AudioListener = camera.AudioListener
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = { audioEmitter.Parent }
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
-- สร้างฟิลเตอร์เสียงใหม่
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- ค่า Q นี้ผลิตสัญญาณผ่านต่ำแบบเรียบสำหรับประเภทความลาด 12dB
filter.Parent = part
-- วางตัวกรองเสียงระหว่างผู้เล่นและผู้ส่ง
local function wireTo(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = target
end
wireTo(audioPlayer, filter)
wireTo(filter, audioEmitter)
-- อัปเดตตัวกรองตามตำแหน่งของเอมิตเตอร์และผู้ฟัง
RunService.Heartbeat:Connect(function()
local emitterPos: Vector3 = part.Position
local listenerPos: Vector3 = camera.CFrame.Position
local raycastResult = workspace:Raycast(emitterPos, (listenerPos - emitterPos), raycastParams)
filter.Frequency = if raycastResult then 500 else 22000
end)
สรุป
คุณสมบัติ
ว่าสตรีมเสียงจะผ่านไปโดยไม่ได้รับผลกระทบจากเอฟเฟกต์นี้หรือไม่
ประเภทของบล็อกโค้งที่แสดงโดยตัวกรอง
ความถี่กลางที่ตัวกรองทำงานรอบ
สำหรับตัวกรองสูงสุดและชั้นวาง ควบคุมการเพิ่มหรือลดระดับเสียง
สำหรับการเพิ่มสูงสุด การผ่านต่ำ การผ่านสูง การผ่านแบนด์ และตัวกรองโน้ต ควบคุมความเฉพาะหรือความสัมพันธ์
วิธีการ
ส่งคืนคอลเลกชันของ Wires ปักหมุด
คืนค่าการตอบสนองของตัวกรองที่ความถี่ที่กำหนด
เหตุการณ์
จะเกิดไฟไหม้เมื่ออินสแตนซ์อื่นถูกเชื่อมต่อกับหรือถูกแยกออกจาก AudioFilter ผ่าน Wire