AudioFilter
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
AudioFilter ajusta o conteúdo de frequência de feeds de áudio. Ele fornece um pino
Amostras de código
An AudioFilter can be used to change the frequency content of audio streams. In this example, an AudioFilter is used to make the AudioEmitter output more muffled when there's a wall between it and the AudioListener.
-- This assumes the workspace contains a Part with an AudioEmitter and an AudioPlayer, and the camera has an 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
-- Create a new AudioFilter
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- This Q value produces a flat lowpass for the 12dB slope type
filter.Parent = part
-- Put the AudioFilter between the player and the emitter
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)
-- Update the filter based on the positions of the emitter and listener
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)
Resumo
Propriedades
Se as transmissões de áudio são passadas através de efeitos não afetados por este efeito.
O tipo de curva representado pelo filtro.
A frequência central que o filtro age em torno.
Para filtros de topo e prateleiras, controla o volume de entrada ou saída.
Para peaking, lowpass, highpass, bandpass e notch filters, controla a seleção ou a ressonância.
Métodos
Retorna um array de Wires que estão conectados ao marcarespecificado.
Retorna a resposta de magnitude do filtro na frequência fornecida.
Propriedades
Editor
FilterType
O tipo de resposta de frequência que será usado para filtrar o sinal de áudio. Cada tipo de curva afeta o conteúdo de frequência do áudio de diferentes maneiras.
Frequency
A frequência central em hertz da curva representada pelo filtro. Normalmente, ajustar este valor para cima ou para baixo corresponde a um deslocamento horizontal na curva de frequência geral. Vários de 20 a 22000.
Gain
O valor de ganho em decímetros usado para determinar o nível de volume da curva representada pelo filtro. Aplica-se somente quando o FilterType estiver Peak, LowShelf ou 2>HighShelf2>. As faixas variam de -30 a 30.
O valor de qualidade usado para determinar a inclinação ou ressonância da curva representada pelo filtro. Aplica-se somente quando o FilterType estiver Peak, Lowpass[x]dB, 2>Highpass[x]dB2>, 5>Bandpass5> ou
Para valores de FilterType de Lowpass12dB e Highpass12dB, um valor de 1>Q</
Métodos
GetConnectedWires
Retorna um array de Wires que estão conectados ao marcarespecificado. AudioFilter tem um pino "Entrada" e um marcar"Saída".
Parâmetros
Devolução
GetGainAt
Retorna o valor de ganho, em decíbeis, da curva de resposta de frequência representada pelo filtro na frequência fornecida, em hertz. Isso pode ser usado para amostrar a forma exata do filtro em locais-chave ou como um todo.
Parâmetros
A frequência, em hertz, para amostrar.
Devolução
O valor de ganho, em decíbeis, na frequência fornecida.