Sound
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Un Sound es un objeto que emite sonido.
Sonido 2D y 3D
Un sonido colocado en un BasePart o un Attachment emitará su sonido desde la posición
Un sonido se considera "global" si no está asociado a un BasePart o un Attachment . En este caso, el sonido se reproducirá con el mismo volumen en todo el lugar.
Amostras de código
local part = Instance.new("Part")
part.Anchored = true
part.Position = Vector3.new(0, 3, 0)
part.BrickColor = BrickColor.new("Bright red")
part.Name = "MusicBox"
part.Parent = workspace
-- create a sound
local sound = Instance.new("Sound", part)
sound.SoundId = "rbxassetid://9120386436"
sound.EmitterSize = 5 -- decrease the emitter size (for earlier volume drop off)
sound.Looped = true
sound.Parent = part
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
-- toggle the sound playing / not playing
clickDetector.MouseClick:Connect(function()
if not sound.IsPlaying then
part.BrickColor = BrickColor.new("Bright green")
sound:Play()
else
part.BrickColor = BrickColor.new("Bright red")
sound:Stop()
end
end)
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
Resumo
Propriedades
Esta propiedad será cierta cuando el Sound haya sido cargado desde los servidores de Roblox y esté listo para jugar.
Esta propiedad de solo lectura devolverá true cuando la Sound no esté reproduciendo.
Esta propiedad solo de lectura devolverá true cuando la Sound esté reproduciendo.
Un rango que denota el inicio y el final de un ciclo dentro de la Sound.PlaybackRegion, en segundos.
Esto establece si el Sound se repite una vez que termina cuando está reproduciendo.
Cuando eso es cierto, el Sound jugará cuando se elimine del juego, al padre del Sound o uno si sus antepasados son nulos.
Un número entre 0 y 1000 que indica lo volumen de Sound está volver.
Un rango que designa un tiempo de inicio deseado (min) y de detención (max) dentro del Sound.TimeLength , en segundos.
Si es cierto, esta propiedad le da a su Sound acceso a las propiedades Sound.PlaybackRegion y 2> Class.Sound.LoopRegion2>, que pueden controlar más precisamente su reproducción.
Determina la velocidad a la que un Sound jugar, con valores más altos que hacen que el sonido se reproduzca más rápido y en una mayor tonalidad.
Indica si el Sound está reproduciendo música actualmente.
La distancia máxima, en studs, de un cliente que escucha puede ser desde la raíz de Sound\s y aún escucharla. Solo se aplica a los sonidos relacionados con un Part o Attachment (sonidos 3D).
La distancia mínima, en studs, en la que un 3D Sound (hijo directo de un BasePart o Attachment ) comenzará a atenuarse (disminuir en volumen).
Controla cómo se comporta el volumen de un Sound (padre de un BasePart o Attachment ) entre la distancia entre el oyente y el padre del sonido.
El SoundGroup que está vinculado a este Sound . El volumen y los efectos de sonido aplicados a este grupo de sonido se transmitirán al sonido. Un sonido solo puede estar en un grupo de sonido en un momento.
Esta propiedad es el ID de contenido del archivo de sonido con el que se asocia. Una vez que se ha cargado un sonido en Roblox, el ID de contenido se puede encontrar en la URL del sonido cargado.
La longitud del Sound en segundos. Si el Sound no se carga, este valor se establecerá en 0.
Muestra el progreso en segundos del Sound . Se puede cambiar para mover la posición de reproducción del Sound tanto antes como durante la reproducción.
El volumen de Class.Sound . Se puede establecer entre 0 y 10. Por defecto, 0.5.
Métodos
Establece Sound.Playing a falso. Esto permite la pausa de la reproducción del Sound si el sonido está en reproducción. Como Sound.TimePosition no se restablece, cuando el 1> Class.Sound1> es reanudado continuará desde su posición anterior.
Reproduce el Sound . Establece Sound.TimePosition al último valor establecido por un Script (o 0 si no se ha establecer), y luego establece 2>Class.Sound.Playing2> a la verdad.
Resume el Sound. Establece Sound.Playing para que sea verdadero. No cambia Sound.TimePosition y, por lo tanto, se puede usar para reanudar la reproducción de un sonido detenido usando 2>Class.Sound:Pause2>.
Detiene el Sound . Establece Sound.Playing a falso y luego establece Sound.TimePosition en 0.
Eventos
Evento que se activa cuando se ejecutan los ciclos de Sound. Devuelve el ID de sonido y el número de veces que se repite, que se traduce en el ID de contenido del sonido y el número de veces que se repite respectivamente.
Se activa cuando el Sound ha completado la reproducción y se ha detenido.
Se activa cuando se carga el Sound.
Dispara cuando el Sound está en pausa usando Sound:Pause() .
Se activa cuando el Sound se reproduce usando la función Sound:Play().
Se activa cuando el Sound se reanuda con el uso de Sound:Resume().
Se activa cuando el Sound es detenido debido a la función Sound:Stop()
Propriedades
ChannelCount
IsLoaded
Esta propiedad será cierta cuando el Sound haya sido cargado desde los servidores de Roblox y esté listo para jugar.
En Roblox, los archivos de audio no se almacenan en los juegos en sí mismos, sino que se almacenan en los servidores de Roblox y se referencian por la propiedad Sound.SoundId. Esto significa que deben ser descargados al dispositivo del cliente antes de que se puedan reproducir. Esto puede tardar un tiempo dependiendo de la conexión de Internet del usuario, la duración del sonido y el número de otros objetos que se deben cargar.
Los desarrolladores pueden usar la propiedad Sound.IsLoaded y el evento Sound.Loaded si desean verificar si se ha cargado un sonido antes de reproducirlo.
Amostras de código
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
IsPaused
Esta propiedad de solo lectura devolverá true cuando el Class.Sound no esté reproduciendo. Tenga en cuenta que esta propiedad no solo devolverá true una vez que se haya pausado el sonido usando la función Sound:Pause() sino que también se habrá detenido usando la función Sound:Stop() o nunca se habrá reproducido.
Esta propiedad solo será cierta cuando Sound.IsPlaying es falso.
As IsPaused es solo de lectura, no se puede usar para detener el sonido, Sound:Stop() y Sound:Pause() deberían usarse en su lugar.
Amostras de código
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
if not sound.isLoaded then
sound.Loaded:Wait()
end
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- false, true
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true
IsPlaying
Esta propiedad solo de lectura devolverá true cuando la Sound esté reproduciendo.
Esta propiedad solo puede ser cierta cuando Sound.IsPaused es falsa.
Dado que IsPlaying es solo de lectura, no se puede usar para reproducir el sonido, Sound:Play() debería usarse en su lugar.
Amostras de código
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
if not sound.isLoaded then
sound.Loaded:Wait()
end
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- false, true
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true
LoopRegion
Un rango que designa un inicio y final de ciclo deseado dentro de la Sound's Sound.PlaybackRegion en segundos.
Si LoopRegion.Min > PlaybackRegion.Min , el bucle comienza desde el LoopRegion.Min .
Si LoopRegion.Min < PlaybackRegion.Min , el ciclo comienza desde el PlaybackRegion.Min .
Si LoopRegion.Max > PlaybackRegion.Max , la vuelta comienza en PlaybackRegion.Max .
Si LoopRegion.Max < PlaybackRegion.Max , el bucle comienza en exactamente esa hora.
Si LoopRegion.Min == LoopRegion.Max, el Sound usa la propiedad 1> Class.Sound.PlaybackRegion1> en su lugar.
Looped
Esto establece si el Sound se repite una vez que termina cuando está reproduciendo.
Los sonidos de bucle son adecuados para una variedad de aplicaciones, incluidos los sonidos de música y ambiente de fondo. El evento Sound.DidLoop puede usarse para rastrear el número de veces que el sonido se ha repetido.
Amostras de código
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local function onCharacterAdded(character)
-- wait for the head to be added
local head = character:WaitForChild("Head")
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = head
sound.Looped = true
sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print("oof! " .. tostring(numOfTimesLooped))
end)
sound:Play()
end
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)
PlayOnRemove
Cuando sea verdad, el Sound jugará cuando se le quite del juego.
Nota que el sonido se reproducirá cuando la propiedad Instance.Parent de la propiedad Sound o uno de sus antepasados esté configurado para nulo. Esto significa que todo lo siguiente causará que el sonido se reproduzca cuando PlayOnRemove esté verdadero. Nota, esto incluye Instance:Destroy() como la función de destrucción establece el padre a nulo.
sonido:Destroy() sonido.Padre = nil sonido.Padre.Padre = nil
Amostras de código
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = workspace
sound.PlayOnRemove = true
task.wait(3)
sound:Destroy()
PlaybackLoudness
Un número entre 0 y 1000 que indica lo volumen de Sound está volver.
Esta propiedad refleja la amplitud de la reproducción del sonido en la instancia del tiempo que se leído. Por lo tanto, para la mayoría de los sonidos, fluirá constantemente. Debido a esto, puede aparecer en la ventana de propiedades de Roblox Studio como 0, pero cuando se lee por código en la barra de comandos o Scripts retornará el valor correcto.
Amostras de código
-- to be placed in StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
-- wait for local player PlayerGui
local LocalPlayer = Players.LocalPlayer
local playerGui = LocalPlayer:WaitForChild("PlayerGui")
-- create a ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
-- create a holder for our bar
local frame = Instance.new("Frame")
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
frame.Size = UDim2.new(0.3, 0, 0.05, 0)
frame.Parent = screenGui
-- create a bar
local bar = Instance.new("Frame")
bar.Position = UDim2.new(0, 0, 0, 0)
bar.Size = UDim2.new(1, 0, 1, 0)
bar.BackgroundColor3 = Color3.new(0, 1, 0)
bar.Parent = frame
-- create a sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = screenGui
sound:Play()
-- define a max loudness
local maxLoudness = 30
-- animate the amplitude bar
while true do
local amplitude = math.clamp(sound.PlaybackLoudness / maxLoudness, 0, 1)
bar.Size = UDim2.new(amplitude, 0, 1, 0)
wait(0.05)
end
PlaybackRegion
Un rango que designa un tiempo de inicio deseado (min) y de detención (max) dentro del Sound.TimeLength , en segundos.
Si PlaybackRegion.Min > 0, el sonido comienza a reproducirse desde el tiempo de PlaybackRegion.Min.
Si PlaybackRegion.Min < 0, el sonido comienza a reproducirse desde 0.
Si PlaybackRegion.Max > Sound.TimeLength , el sonido se detiene en Sound.TimeLength .
Si PlaybackRegion.Max < Sound.TimeLength, el sonido se detiene en exactamente esa hora.
Si PlaybackRegion.Min == PlaybackRegion.Max, la PlayBackRegion está inactivo.
PlaybackRegionsEnabled
Si es cierto, esta propiedad le da a su Sound acceso a las propiedades Sound.PlaybackRegion y 2> Class.Sound.LoopRegion2>, que pueden controlar más precisamente su reproducción.
PlaybackSpeed
Determina la velocidad a la que se jugarun Sound. Cuanto mayor sea el valor, más rápido se reproducirá el sonido.
Por ejemplo, un valor de 2 causará que el Sound reproduzca el doble de rápido, mientras que un valor de 0.5 lo hará reproducir el doble de lento. Cuando PlaybackSpeed esté igual a 1, el sonido tomará Sound.TimeLength (en segundos) para completar.
Nota que aumentar la PlaybackSpeed de un sonido la hará rebotar a un tono más alto.
Amostras de código
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
task.wait(10)
sound.PlaybackSpeed = 3 -- 3x faster
task.wait(5)
sound.PlaybackSpeed = 0.5 -- 2x slower
task.wait(5)
sound.PlaybackSpeed = 1 -- default
Playing
Indica si el Sound está reproduciendo actualmente. Esto se puede alternar, y esta propiedad siempre se replicará.
En el editor de estudio, Sounds no se pueden reproducir porque el tiempo se detiene. Establecer Sound.Playing en verdadero en modo de edición no hace nada. Sin embargo, puede reproducir audio desde dentro de los plugins al configurar el Sounds como descendientes de un 1> Class.PluginGui1> .
Esta propiedad no debe confundirse con Sound.IsPlaying que es una propiedad de lectura solo. El jugar se puede configurar para que sea verdadero o falso para iniciar o dejar el reproducción de un sonido.
Nota que cuando se establece Play en falso, la propiedad Sound.TimePosition del sonido no se restablecerá. Esto significa que cuando se establece Play de nuevo en verdadero el audio continuará desde la posición de tiempo en la que se detuvo cuando se detuvo. Sin embargo, si la función Sound:Play() se usa para resumir el sonido, la posición del tiempo se restablecerá a 0.
Amostras de código
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
print("playing sound")
sound.Playing = true
task.wait(10)
print("stopping sound")
sound.Playing = false
task.wait(5)
sound.Playing = true
local timePosition = sound.TimePosition
print("resumed at time position: " .. tostring(timePosition)) -- c. 10 seconds
RollOffMaxDistance
La distancia máxima, en studs, que un cliente escucha puede ser desde la raíz de Class.Sound y todavía escucharla. Solo se aplica a los sonidos relacionados con un padre de Class.Part o Class.Attachment (sonidos 3D).
Cómo RollOffMaxDistance afecta la atenuación de un sonido (manera en que se desvanecen) depende de la propiedad Sound.RollOffMode. Cuando RollOffMode está configurado para usar un modelo de distancia de tipo invertido (Inverse o InverseTapered) el RollOffMaxDistance no afectará la atenuación del
Cuando RollOffMode está configurado como un modelo de distancia de tipo lineal (Linear o LinearSquared) el sonido se atenuará entre Sound.EmitterSize y MaxDistance (con el volumen de reproducción alcanzando cero en el máximo alcance de distancia). Esto es menos realista, pero en algunos casos permite manejar la atenuación de manera más intuitiva.
RollOffMinDistance
La distancia mínima, en studs, en la que un 3D Sound (hijo directo de un BasePart o Attachment ) comenzará a atenuarse (disminuir en volumen).
Suena padre a un BasePart o Attachment que son descendientes del Workspace son considerados sonidos 3D y su volumen mientras se reproduce depende de la distancia entre el oyente de sonido del cliente (
La forma en que el Sound se atenuiza (desaparece) después de que la distancia entre el oyente y el sonido exceda la distancia de desplazamiento determinada por el modo de desplazamiento.
RollOffMode
Esta propiedad establece cómo 3D Sounds atenuate (fade out) a medida que la distancia entre el oyente y el padre del sonido aumenta. Se puede establecer a uno de los valores del Enum.RollOffMode enum.
El siguiente código establecerá RollOffMode a Linear:
sound.RollOffMode = Enum.RollOffMode.Linear
Los diferentes modos
Las siguientes opciones están disponibles:
<tbody><tr><td>Inversa</td><td>El volumen disminuye de <code>Sonido/RollOffMinDistance</code> de manera inversa.</td></tr><tr><td>InvertidoTapered</td><td>Un aplicación de modeladohíbrido. Sigue el modelo Inverse cuando está cerca de <code>RollOffMinDistance</code> y el modelo Linear Square cuando está cerca de <code>Sound/RollOffMaxDistance</code> .</td></tr><tr><td>Lineal</td><td>El volumen se atenúa entre <code>RollOffMinDistance</code> y <code>Sound/RollOffMaxDistance</code> con una relación lineal.</td></tr><tr><td>Cuadrado lineal</td><td>El volumen se atenúa entre <code>RollOffMinDistance</code> y <code>Sound/RollOffMaxDistance</code> con una relación lineal cuadrada.</td></tr></tbody>
Modo | Descripción |
---|
Inversa vs Distorsión de Rango Lineal
Por defecto, los sonidos se configuran para usar la atenuación de distancia inversa (enum.rolloffmode.逆) que se basa en cómo los sonidos se atenuan en el mundo real. Bajo la atenuación de distancia inversa, los sonidos comenzarán a atenuarse una vez que la distancia entre el oyente y el padre del sonido exceda la dist
RollOffMaxDistance no afectará la atenuación bajo el modelo inverso, pero causará que el sonido se corte completamente una vez que se alcanza esta distancia. Esto puede ser particularmente brusco cuando se utilizan valores bajos para la máxima distancia.
La distorsión de distancia lineal funciona de manera diferente. Bajo la distorsión de distancia lineal, el sonido se atenuará entre RollOffMinDistance y RollOffMaxDistance, cayendo en silencio una vez que se alcanza MaxDistance. RollOffMinDistance todavía representa el punto en el que el sonido comenzará a atenuarse. Sin embargo, el volumen auditivo en cualquier momento a
SoundGroup
El SoundGroup que está vinculado a este Sound . SoundGroup.Volume y 2>Class.SoundEffect|SoundEffects2> aplicado a este grupo de sonido solo se pasará al sonido. Un sonido sólo puede estar en un grupo de sonido en el tiempo.
SoundGroups se usan para administrar el volumen y los efectos de múltiples Sounds a la vez. Se agrega un Sound a un 0> Class.SoundGroup0> al configurar la propiedad de Sonido del sonido.
Amostras de código
local SoundService = game:GetService("SoundService")
-- create a sound group
local soundGroup = Instance.new("SoundGroup")
soundGroup.Parent = SoundService
-- create a sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.PlaybackSpeed = 2
sound.SoundGroup = soundGroup
sound.Parent = workspace
-- play the sound
sound:Play()
task.wait(10)
-- change the volume
soundGroup.Volume = 0.1
task.wait(3)
-- return the volume
soundGroup.Volume = 0.5
task.wait(4)
-- add a sound effect
local reverb = Instance.new("ReverbSoundEffect")
reverb.Parent = soundGroup
SoundId
Esta propiedad es el ID de contenido del archivo de sonido con el que se asocia. Una vez que se ha cargado un sonido en Roblox, el ID de contenido se puede encontrar en la URL del sonido cargado.
Es importante recordar que la URL no es la misma que el ID de contenido. Funcionará cuando se pegue directamente en la propiedad SoundId de un Sound en Roblox Studio, ya que Studio lo corregirá automáticamente, sin embargo, si se establece desde un Script entonces se necesitará el ID de contenido correcto. Para obtener más información, consulte la sección Roblox Studio de esta página.
"https://www.roblox.com/catalog/9120386436" -- URL de la web (no funcionará)"http://www.roblox.com/asset/?id=9120386436" -- ID de contenido ( funcionará )"rbxassetid://9120386436" -- Content ID (alternative version, will work)
Amostras de código
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
TimeLength
La longitud del Sound en segundos. Si el Sound no se carga, este valor se establecerá en 0.
Esta propiedad se usa a menudo en conjunción con Sound.PlaybackSpeed para ajustar la velocidad de un sonido para que dure durante una duración específica (ver ejemplos). Cuando Sound.PlaybackSpeed es igual a 1, el sonido tomará TimeLength segundos para completarse.
Amostras de código
local function playForDuration(sound, duration)
if not sound.IsLoaded then
sound.Loaded:wait()
end
local speed = sound.TimeLength / duration
sound.PlaybackSpeed = speed
sound:Play()
end
local sound = script.Parent
playForDuration(sound, 5)
TimePosition
Muestra el progreso en segundos del Sound . Se puede cambiar para mover la posición de reproducción del sonido. Si el sonido ya está reproduciendo, entonces la reproducción se ajustará a la posición especificada. Si no está reproduciendo el Sound , comenzará la reproducción en la posición establecida cuando el sonido se reproduzca.
A medida que se reproduce un Sound, TimePosition aumenta en un Sound.PlaybackSpeed por segundo. Una vez que TimePosition alcanza Sound.TimeLength, el sonido se detendrá a menos que se haya establecido 2>Class.Sound.Looped2> como verdadero estableciendo
Tenga en cuenta que establecer TimePosition a un valor mayor que la longitud en una pista en bucle no lo hará envuelto. Si ese comportamiento se desea, el desarrollador deberá hacer lo siguiendo.
si newPosition >= sound.TimeLength entonces newPosition = newPosition - sound.TimeLength end sound.Position = newPosition
Establecer TimePosition a un valor menor a cero no afecta el tiempo de reproducción, pero este comportamiento no debería confiarse.
Amostras de código
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Parent = workspace
sound.TimePosition = 30
sound:Play()
task.wait(5)
sound.TimePosition = 100
task.wait(5)
sound.TimePosition = 0
Volume
El volumen de Class.Sound . Se puede establecer entre 0 y 10. Por defecto, 0.5
Nota que si el Sound es un miembro de un SoundGroup su volumen de reproducción (pero no la propiedad Volumen) se verá afectado por la propiedad SoundGroup.Volume de ese 2>Class.SoundGroup2> . El efecto de esto
Amostras de código
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.PlaybackSpeed = 2
sound.Parent = workspace
sound.Volume = 2
sound:Play()
task.wait(7)
sound.Volume = 0.2
Métodos
Pause
Establece Sound.Playing a falso. Esto permite que el reproductor de Sound deje de reproducir el sonido si el sonido está en reproducción. A diferencia de Sound:Stop(), no restablece 1> Class.Sound.TimePosition1>, lo que significa que el sonido se puede reanudar usando 4> Class.Sound:
El impacto de las diferentes funciones de sonido en Sound.Playing y Sound.TimePosition se muestran a continuación.
<tbody><tr><td>Sonido:Reproducir()</td><td>Veraz</td><td>Último valor establecido en Lua (por defecto 0)</td></tr><tr><td>Sonido:Pausa()</td><td>Falso</td><td></td></tr><tr><td>Sonido:Resume()</td><td>Veraz</td><td></td></tr><tr><td>Sonido:Parar()</td><td>Falso</td><td>0</td></tr></tbody>
Función | Sonido.Jugando | Posición de sonido. |
---|
Devolução
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Play
Reproduce el Sound . Establece Sound.TimePosition al último valor establecido por un Script (o 0 si no se ha establecer), y luego establece 2>Class.Sound.Playing2> a la verdad.
El impacto de las diferentes funciones de Sound en Sound.Playing y Sound.TimePosition se muestran a continuación.
<tbody><tr><td>Sonido:Reproducir()</td><td>Veraz</td><td>Último valor establecido en Lua (por defecto 0)</td></tr><tr><td>Sonido:Pausa()</td><td>Falso</td><td></td></tr><tr><td>Sonido:Resume()</td><td>Veraz</td><td></td></tr><tr><td>Sonido:Parar()</td><td>Falso</td><td>0</td></tr></tbody>
Función | Sonido.Jugando | Posición de sonido. |
---|
Devolução
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resume
Resume el Sound. Establece Sound.Playing para que sea verdadero. No cambia Sound.TimePosition y, por lo tanto, se puede usar para reanudar la reproducción de un sonido detenido usando 2>Class.Sound:Pause2>.
El impacto de las diferentes funciones de sonido en Sound.Playing y Sound.TimePosition se muestran a continuación.
<tbody><tr><td>Sonido:Reproducir()</td><td>Veraz</td><td>Último valor establecido en Lua (por defecto 0)</td></tr><tr><td>Sonido:Pausa()</td><td>Falso</td><td></td></tr><tr><td>Sonido:Resume()</td><td>Veraz</td><td></td></tr><tr><td>Sonido:Parar()</td><td>Falso</td><td>0</td></tr></tbody>
Función | Sonido.Jugando | Posición de sonido. |
---|
Devolução
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stop
Detiene el Sound . Establece Sound.Playing a falso y luego establece Sound.TimePosition en 0.
El impacto de las diferentes funciones de sonido en Sound.Playing y Sound.TimePosition se muestran a continuación.
<tbody><tr><td>Sonido:Reproducir()</td><td>Veraz</td><td>Último valor establecido en Lua (por defecto 0)</td></tr><tr><td>Sonido:Pausa()</td><td>Falso</td><td></td></tr><tr><td>Sonido:Resume()</td><td>Veraz</td><td></td></tr><tr><td>Sonido:Parar()</td><td>Falso</td><td>0</td></tr></tbody>
Función | Sonido.Jugando | Posición de sonido. |
---|
Devolução
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Eventos
DidLoop
Evento que se activa cuando se ejecutan los ciclos de Sound. Devuelve el ID de sonido y el número de veces que se repite, que se traduce en el ID de contenido del sonido y el número de veces que se repite respectivamente.
Cuando el Sound es detenido, el contador de bucles se reinicia, lo que significa que el próximo evento de DidLoop devolverá 1 para numOfTimesLooped.
Parâmetros
El Sound.SoundId de Class.Sound que se repitió.
Amostras de código
local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)
Ended
Se activa cuando el Sound ha completado la reproducción y se ha detenido. Tenga en cuenta que este evento no se activará para los sonidos con Sound.Looped configurado como verdadero mientras siguen reproduciendo al llegar a su finalizar.
Este evento a menudo se usa para destruir un sonido cuando ha completado la reproducción.
sound:Play()sound.Ended:Wait()sound:Destroy()
Este evento solo se activa si el sonido ha llegado a su finalizar. Esto significa que también no se activará cuando el sonido se detenga antes de que se complete el reproducción, para este uso Sound.Stopped .
Parâmetros
El Sound.SoundId del Sound que ha terminado.
Loaded
El evento Sound.Loaded se activa cuando se carga el Sound .
Tenga en cuenta que este evento solo se activará cuando se cargue el sonido. Esto significa que si se escucha cuando el sonido ya está cargado, no se devolverá. Por lo tanto, se recomienda verificar Sound.IsLoaded antes de conectarse a este evento.
Parâmetros
El Sound.SoundId de Class.Sound que se cargó.
Amostras de código
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
Paused
Dispara cuando el Sound está en pausa usando Sound:Pause() .
Al igual que con Sound.Played , Sound.Resumed y Sound.Stopped , sólo la función de sonido respectiva causará el evento de desencadenar. Esto significa que Pause sólo se disparará cuando se llama 1> Class.Sound:Pause1> .
Parâmetros
El Sound.SoundId de Class.Sound que fue pausado.
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Played
Se activa cuando el Sound se reproduce usando la función Sound:Play().
Al igual que con Sound.Stopped , Sound.Paused y Sound.Resumed , sólo la función de sonido respectiva causará el evento de desencadenar. Esto significa que Played sólo disparará
Parâmetros
El Sound.SoundId de la Sound que se ha reproducido.
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resumed
Se activa cuando el Sound se reanuda con el uso de Sound:Resume().
Al igual que con Sound.Played , Sound.Paused y Sound.Stopped , sólo la función de sonido respectiva causará el evento de desencadenar. Esto significa que Resume sólo se disparará cuando se llama 1> Class.Sound:Resume()1>.
Parâmetros
El Sound.SoundId de Class.Sound se está reanudando.
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stopped
Se activa cuando el Sound es detenido debido a la función Sound:Stop()
Al igual que con Sound.Played , Sound.Paused y Sound.Resumed , sólo la función de sonido respectiva causará que se desencadenarel evento. Esto significa que Stopped sólo se disparará cuando se llama 1> Class.Sound:Stop1>. Destruir un sonido mientras está reproduciendo no causará que se desencadenar
Parâmetros
El Sound.SoundId de Class.Sound que se detuvo.
Amostras de código
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0