Sound
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Sound ist ein Objekt, das Geräusche aussendet.Wenn es in einem BasePart oder einem Attachment platziert wird, sendet dieses Objekt seinen Ton von dem Teil BasePart.Position oder dem Anhang Attachment.WorldPosition aus.In dieser Platzierung zeigt ein Sound den Doppler-Effekt, d. h. seine Frequenz und Tonhöhe ändert sich mit der relativen Bewegung eines jeden Anhangs oder Teils, zu dem es angehängt ist.Zusätzlich wird seine Lautstärke durch die Entfernung zwischen dem Sound-Listen des Clients (Standardmäßig die Camera Position) und der Position des Sounds' übergeordnetes Teilbestimmt.Für weitere Informationen, siehe RollOffMode.
Ein Klang wird als "global" angesehen, wenn er nicht einem BasePart oder einem Attachment zugewiesen ist.In diesem Fall wird der Ton auf der gesamten Ortmit derselben Lautstärke abgespielt.
Code-Beispiele
Der Code in diesem Beispiel zeigt, wie ein Klang, der einem Teil oder einer Anlage zugewiesen ist, lokal wiedergegeben wird und die Lautstärke sinkt, je weiter die Kamera des Spielers vom Teil entfernt ist.
Ein Teil wird instanziert, und ein Klang wird instanziert und dem Teil zugewiesen.Ein Klickdetektor wird auf dem Teil eingerichtet, das überprüft, ob der Ton abgespielt wird, und spielt oder stoppt den Ton ab, abhängig davon.
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
-- erstellt ein geräusch
local sound = Instance.new("Sound", part)
sound.SoundId = "rbxassetid://9120386436"
sound.EmitterSize = 5 -- reduzieren sie die größe des senders (für frühere volumenabfall)
sound.Looped = true
sound.Parent = part
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
-- schalte den klang ein/aus nicht abspielen
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)
Zusammenfassung
Eigenschaften
Diese Eigenschaft ist true, wenn die Sound von Roblox-Servern geladen wurde und bereit ist zu spielen.
Lesbare Eigenschaft, die true zurückgibt, wenn die Sound nicht spielt.
Lesbare Eigenschaft, die true zurückgibt, wenn die Sound spielt.
Ein Bereich, der einen gewünschten Loop-Start und Loop-Ende innerhalb von PlaybackRegion Sekunden kennzeichnet.
Legt fest, ob oder nicht der Sound wiederholt wird, sobald er das Spiel beendet hat.
Wenn true , wird der Sound spielen, wenn er aus dem Erlebnis entfernt wird.
Eine Zahl zwischen 0 und 1000, die anzeigt, wie laut der Sound derzeit Zurückwird.
Ein Bereich, der eine gewünschte Start- und Stoppzeit innerhalb von TimeLength in Sekunden angibt.
Wenn true , gibt diese Eigenschaft Ihrem Sound Zugriff auf die PlaybackRegion und LoopRegion Eigenschaften, die seine Wiedergabe genauer steuern können.
Bestimmt die Geschwindigkeit, mit der ein Sound gespielt wird, mit höheren Werten, die den Klang schneller und mit höherer Tonhöhe spielen lassen.
Weist an, ob das Sound derzeit gespielt wird.
Die maximale Entfernung, in Studs, kann ein Client-Listen器 von der Herkunft des Sounds aus und immer noch hören.Gilt nur für Sounds Eltern, die zu einem BasePart oder Attachment gehören.
Die minimale Entfernung, in Studs, bei der ein Sound welcher einem BasePart oder Attachment zugewiesen ist, beginnen zu verblassen (Volumenabnahme).
Steuert, wie die Lautstärke eines Sound, der einem BasePart oder Attachment zugewiesen ist, abnimmt (verschwindet), wenn sich die Entfernung zwischen dem Empfänger und dem Elternteil ändert.
Die SoundGroup, die mit diesem Sound verknüpft ist.
Inhalts-ID der Sounddatei, die mit der Sound verknüpft werden soll.
Die Länge des Sound in Sekunden.
Fortschritt der Sound in Sekunden. Kann geändert werden, um die Wiedergabeposition der Sound sowohl vor als auch während der Wiedergabe zu verschieben.
Die Lautstärke des Sound.
Methoden
Ereignisse
Feuert immer dann, wenn die Sound Schleifen laufen.
Feuert, wenn der Sound den Wiedergabe abgeschlossen und aufgehört hat.
Feuert, wenn das Sound geladen wird.
Feuert immer dann, wenn die Sound mit Pause() pausiert wird.
Feuert, wenn das Sound wieder aufgenommen wird, indem Resume() verwendet wird.
Feuert, wenn das Sound durch die Verwendung von Stop() gestoppt wird.
Eigenschaften
ChannelCount
IsLoaded
Diese Eigenschaft ist true, wenn die Sound von Roblox-Servern geladen wurde und bereit ist zu spielen.Sie können diese Eigenschaft und das Loaded-Ereignis verwenden, um zu überprüfen, dass ein Klang vor dem Wiedergeben geladen wurde.
Code-Beispiele
This simple function will verify a Sound has loaded by checking the Sound.IsLoaded property. If Sound.IsLoaded is false it will wait for the Loaded event before resuming.
It is important to check Sound.IsLoaded before connecting to the Sound.Loaded event, as if the sound has already loaded the Sound.Loaded event will not fire and the function will yield indefinitely.
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
IsPaused
Diese lesbare Eigenschaft gibt true zurück, wenn die Sound nicht spielt.Beachten Sie, dass es true zurückgeben kann, wenn ein Ton mit Pause() pausiert wurde, wenn er mit Stop() gestoppt wurde oder der Ton nie gespielt wurde.
Da IsPaused nur lesbar ist, kann es nicht verwendet werden, um den Ton zu stoppen; Stop() oder Pause() sollte stattdessen verwendet werden.
Code-Beispiele
This code sample contains demonstrates when the Sound.IsPlaying and Sound.IsPaused properties will be true or false.
A sound is instanced in the Workspace and the Sound.IsLoaded property is checked to ensure it has loaded, if it has not the Sound.Loaded event is used to yield the script until the sound has.
As the sound is played, paused and stopped the Sound.IsPlaying and Sound.IsPaused properties are printed to demonstrate how they respond to each of these functions. Note Sound.IsPaused will always be true if even if the sound has been stopped rather than paused.
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
Diese lesbare Eigenschaft gibt wahr zurück, wenn die Sound spielt.
Da IsPlaying nur lesbar ist, kann es nicht verwendet werden, um den Ton abzuspielen; Play() sollte stattdessen verwendet werden.
Code-Beispiele
This code sample contains demonstrates when the Sound.IsPlaying and Sound.IsPaused properties will be true or false.
A sound is instanced in the Workspace and the Sound.IsLoaded property is checked to ensure it has loaded, if it has not the Sound.Loaded event is used to yield the script until the sound has.
As the sound is played, paused and stopped the Sound.IsPlaying and Sound.IsPaused properties are printed to demonstrate how they respond to each of these functions. Note Sound.IsPaused will always be true if even if the sound has been stopped rather than paused.
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
Ein Bereich, der einen gewünschten Loop-Start und Loop-Ende innerhalb von PlaybackRegion Sekunden kennzeichnet.
Wenn Class.Sound.LoopRegion|LoopRegion.Min``>``Class.Sound.PlaybackRegion|PlaybackRegion.Min , beginnt die Schleife von LoopRegion.Min .
Wenn Class.Sound.LoopRegion|LoopRegion.Min``<``Class.Sound.PlaybackRegion|PlaybackRegion.Min , beginnt die Schleife von PlaybackRegion.Min .
Wenn Class.Sound.LoopRegion|LoopRegion.Max``>``Class.Sound.PlaybackRegion|PlaybackRegion.Max , beginnt die Schleife bei PlaybackRegion.Max .
Wenn Class.Sound.LoopRegion|LoopRegion.Max``<``Class.Sound.PlaybackRegion|PlaybackRegion.Max , beginnt die Schleife zu genau dieser Zeit.
Wenn Class.Sound.LoopRegion|LoopRegion.Min``==``Class.Sound.LoopRegion|LoopRegion.Max , verwendet der Sound die Eigenschaft PlaybackRegion stattdessen.
Looped
Dies legt fest, ob oder nicht der Sound wiederholt wird, sobald er das Spiel beendet hat.Geschleifte Sounds eignen sich für eine Reihe von Anwendungen, einschließlich Musik und Hintergrund-Ambient-Geräusche.
Das Ereignis DidLoop kann verwendet werden, um die Anzahl der Male zu verfolgen, in denen sich das Geräusch in Schleifen befindet.
Code-Beispiele
This code sample includes a function that will play a sound and allow it to loop for a given number of times before stopping it.
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
Wenn true , wird der Sound spielen, wenn er aus dem Erlebnis entfernt wird, indem er das Sound oder eines seiner Vorfahren zu nil wird.Das bedeutet, dass alles Folgende den Klang spielen lässt, wenn PlayOnRemove ist true :
- sound:Destroy()
- sound.Parent = nil
- sound.Parent.Parent = nil
PlaybackLoudness
Eine Zahl zwischen 0 und 1000, die anzeigt, wie laut der Sound derzeit Zurückwird.Diese Eigenschaft spiegelt die Amplitude der Wiedergabe des Sounds in der Instanz der Zeit wider, in der er gelesen wird.
Code-Beispiele
In this sample Sound.PlaybackLoudness is used to create an amplitude bar that shows the amplitude of a sound playing.
This code sample should be placed in StarterPlayerScripts.
A simple GUI is created, a frame holding that bar and a frame containing the bar. A Sound is then played and the size of the bar is set to reflect the Sound.PlaybackLoudness on a loop.
-- 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
Ein Bereich, der eine gewünschte Start- und Stoppzeit innerhalb von TimeLength in Sekunden angibt.
Wenn PlaybackRegion.Min``>``0 , beginnt der Ton ab der PlaybackRegion.Min Zeit zu spielen.
Wenn PlaybackRegion.Min``<``0 , beginnt der Ton von 0 zu spielen.
Wenn PlaybackRegion.Max``>``Class.Sound.TimeLength , hört der Ton bei Sound.TimeLength auf.
Wenn PlaybackRegion.Max``<``Class.Sound.TimeLength , hört der Ton bei genau an.
Wenn Class.Sound.PlaybackRegion|PlaybackRegion.Min``==``Class.Sound.PlaybackRegion|PlaybackRegion.Max , ist diese Eigenschaft inaktiv.
PlaybackRegionsEnabled
Wenn true , gibt diese Eigenschaft Ihrem Sound Zugriff auf die PlaybackRegion und LoopRegion Eigenschaften, die seine Wiedergabe genauer steuern können.
PlaybackSpeed
Bestimmt die Geschwindigkeit, mit der ein Sound gespielt wird, mit höheren Werten, die den Klang schneller und mit höherer Tonhöhe spielen lassen.
Code-Beispiele
In diesem Beispiel wird ein Ton im Arbeitsbereich abgespielt.Die Eigenschaft PlaybackSpeed wird in Abständen erhöht und verringert, um ihren Einfluss auf die Wiedergabe des Sounds zu demonstrieren.
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
task.wait(10)
sound.PlaybackSpeed = 3 -- 3x schneller
task.wait(5)
sound.PlaybackSpeed = 0.5 -- 2x langsamer
task.wait(5)
sound.PlaybackSpeed = 1 -- default
Playing
Zeigt an, ob das Sound derzeit gespielt wird. Dies kann umgeschaltet werden, und diese Eigenschaft wird sich immer wiederholen.
Im Fenster "Eigenschaften" von Studio, während im Bearbeiten -Modus, das Umschalten von auf beginnt nicht, den Ton abzuspielen, aber der Ton wird während der Laufzeit abgespielt.
Diese Eigenschaft sollte nicht mit IsPlaying, die eine nur lesbare Eigenschaftenist, verwechselt werden.
Beachten Sie, dass wenn Playing auf false gesetzt ist, die Eigenschaft TimePosition des Sounds nicht zurücksetzenwird, was bedeutet, dass wenn Playing erneut auf true gesetzt wird, das Audio von der Zeitposition fortgesetzt wird, zu der es angehalten wurde, als es gestoppt wurde.Wenn jedoch die Funktion Play() verwendet wird, um den Ton wieder aufzunehmen, wird die Zeitposition auf 0 zurückgesetzt.
Code-Beispiele
This sample demonstrates how the Sound.Playing property can be used to start and stop playback of a sound.
A sound is instanced in the Workspace and playback is started by setting Sound.Playing to true. After ten seconds the playback is stopped by setting Sound.Playing to false. When the playback is again resumed using Sound.Playing it resumes at the previous Sound.TimePosition it was stopped at. This is demonstrated by printing the TimePosition property immediately after resuming the sound.
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
Die maximale Entfernung, in Studs, kann ein Client-Listen器 von der Herkunft des Sounds aus und immer noch hören.Gilt nur für Sounds Eltern, die zu einem BasePart oder Attachment gehören.
Wie RollOffMaxDistance die Schwächung eines Sounds (die Art und Weise, in der er verschwindet) die Abnahme eines Geräusches beeinflusst, hängt von der RollOffMode Eigenschaftenab.
RollOffMinDistance
Die minimale Entfernung, in Studs, bei der ein Sound welcher einem BasePart oder Attachment zugewiesen ist, beginnen zu verblassen (Volumenabnahme).
Wie RollOffMinDistance die Schwächung eines Sounds (die Art und Weise, in der er verschwindet) die Abnahme eines Geräusches beeinflusst, hängt von der RollOffMode Eigenschaftenab.
RollOffMode
Diese Eigenschaft steuert, wie sich die Lautstärke eines Sound, der einem BasePart oder Attachment zugewiesen ist, verringert (verschwindet), wenn sich die Entfernung zwischen dem Empfänger und dem Elternteil ändert.
Für Details zu den verschiedenen Modi siehe Enum.RollOffMode.
SoundId
Diese Eigenschaft ist die Inhalts-ID der Tondatei, die mit der Sound verknüpft werden soll. Siehe Audio-Assets für weitere Informationen.
TimeLength
Die Länge des Sound in Sekunden. Wenn das Sound nicht geladen wird, ist dieser Wert 0 .
Diese Eigenschaft wird oft in Verbindung mit PlaybackSpeed verwendet, um die Geschwindigkeit eines Sounds anzupassen, der für eine bestimmte Dauer anhält.
Code-Beispiele
This code sample includes a simple function that uses Sound.TimeLength and Sound.PlaybackSpeed to play a sound that'll take the given duration to complete. It achieves this by setting the PlaybackSpeed of the sound to be equal to the TimeLength of the sound divided by the desired duration.
Note that as TimeLength is equal to 0 when the sound has not loaded, the function will yield while it loads the sound.
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
Diese Eigenschaft spiegelt den Fortschritt der Sound in Sekunden wider.Es kann geändert werden, um die Wiedergabeposition des Sounds sowohl vor als auch während der Wiedergabe zu verschieben.
Wenn ein Sound gespielt wird, erhöht sich TimePosition mit einer Geschwindigkeit von PlaybackSpeed pro Sekunde.Sobald TimePosition erreicht TimeLength, stoppt der Ton, es sei denn, es ist Looped.
Beachten Sie, dass die Einstellung TimePosition auf einen Wert größer als die Länge in einem verschachtelten Track umgewrapped wird, wird nicht verursachen.Wenn dieses Verhalten gewünscht ist, betrachte das folgende Code-Snippet:
local newPosition = 1.5if newPosition >= sound.TimeLength thennewPosition = newPosition - sound.TimeLengthendsound.TimePosition = newPosition
Code-Beispiele
This sample demonstrates how Sound.TimePosition can be used to jump to particular points in an audio file both before and during Sound playback.
A Sound is created in the Workspace and set to start at 30 seconds in. During playback, it jumps forwards to 100 seconds and then back to the start (0 seconds).
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
Die Lautstärke des Sound . Kann zwischen 0 und 10 und Standard auf 0.5 gesetzt werden.
Beachten Sie, dass, wenn das Sound Mitglied eines SoundGroup ist, sein Wiedergabevolumen (aber nicht seine Volume Eigenschaften) durch die Eigenschaft der Gruppe beeinflusst wird SoundGroup.Volume.
Methoden
Pause
Diese Methode unterbricht die Wiedergabe des Sound wenn es wiedergegeben wird, und legt Playing auf false fest.Im Gegensatz zu Stop(), setzt es nicht zurück TimePosition, was bedeutet, dass der Ton mit Resume() fortgesetzt werden kann.
Rückgaben
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Play
Diese Methode spielt die Sound und setzt TimePosition auf den letzten Wert, der von einem Skript festgelegt wurde (oder 0 wenn er nicht festlegenwurde), und setzt Playing auf true .
Rückgaben
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resume
Diese Methode nimmt die Sound wieder auf und legt Playing auf true fest.Ändert nicht TimePosition und kann daher verwendet werden, um die Wiedergabe eines Sounds fortzusetzen, der durch Pause() unterbrochen wurde.
Rückgaben
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stop
Diese Methode stoppt die Sound und setzt Playing auf false , dann setzt TimePosition auf 0 .
Rückgaben
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Ereignisse
DidLoop
Feuert immer dann, wenn die Sound Schleifen laufen.Gibt soundId und numOfTimesLooped zurück, wobei die Inhalts-ID des Sounds und die Anzahl der wiederholten Male angegeben werden.
Wenn der Sound durch Stop() gestoppt wird, wird der geschleifte Zähler zurückgesetzt, was bedeutet, dass das nächste DidLoop Ereignis 1 für numOfTimesLooped zurückkehrt.
Parameter
Code-Beispiele
This code sample includes a function that will play a sound and allow it to loop for a given number of times before stopping it.
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
Feuert, wenn das Sound den Wiedergabe abgeschlossen hat und aufgehört hat. Dieses Ereignis wird oft verwendet, um einen Klang zu zerstören, wenn er den Wiedergabe abgeschlossen hat:
sound:Play()sound.Ended:Wait()sound:Destroy()
Beachten Sie, dass dieses Ereignis nicht für Geräusche feuern wird, die mit Looped auf true festgelegt sind, da sie weiter spielen, wenn sie ihr beendenerreichen.Dieses Ereignis wird auch nicht feuern, wenn der Ton gestoppt wird, bevor die Wiedergabe abgeschlossen ist; für diesen Fall verwende das Stopped Ereignis.
Parameter
Loaded
Feuert, wenn das Sound geladen wird.
Da dieses Ereignis nur dann feuert, wenn der Ton geladen wird, wird empfohlen, die Eigenschaft des Tons IsLoaded vor der Verbindung mit diesem Ereignis zu überprüfen.
Parameter
Code-Beispiele
This simple function will verify a Sound has loaded by checking the Sound.IsLoaded property. If Sound.IsLoaded is false it will wait for the Loaded event before resuming.
It is important to check Sound.IsLoaded before connecting to the Sound.Loaded event, as if the sound has already loaded the Sound.Loaded event will not fire and the function will yield indefinitely.
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
Paused
Feuert immer dann, wenn die Sound mit Pause() pausiert wird.
Parameter
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Played
Feuert immer dann, wenn das Sound mit Play() gespielt wird.Dieses Ereignis wird nicht abfeuern, wenn das Sound aufgrund von PlayOnRemove auf true gesetzt und der Klang zerstört wird.
Parameter
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resumed
Feuert, wenn das Sound wieder aufgenommen wird, indem Resume() verwendet wird.
Parameter
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stopped
Feuert, wenn das Sound durch die Verwendung von Stop() gestoppt wird. Das Zerstören eines Sounds, während er gespielt wird, verursacht nicht, dass dieses Ereignis initiieren.
Parameter
Code-Beispiele
Dieses Beispiel gibt eine einfache Demonstration dessen, was jede der Sound-Funktionen (Sound.Play, Sound.Stop, Sound.Pause und Sound.Resume) mit Sound.Playing und Sound.TimePosition macht.
-- erstellt ein geräusch
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- auf ereignisse hören
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) -- spiele wahr 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause falsch 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- spiele wahr 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stopp falsche 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0