Sound

Veraltete anzeigen

*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.

Musik-Wiedergabeteil

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

  • Schreibgeschützt
    Nicht repliziert
    Nicht durchsuchbar
    Roblox-Skript-Sicherheit
    Parallel lesen
  • Schreibgeschützt
    Nicht repliziert
    Parallel lesen

    Diese Eigenschaft ist true, wenn die Sound von Roblox-Servern geladen wurde und bereit ist zu spielen.

  • Verborgen
    Schreibgeschützt
    Nicht repliziert
    Parallel lesen

    Lesbare Eigenschaft, die true zurückgibt, wenn die Sound nicht spielt.

  • Verborgen
    Schreibgeschützt
    Nicht repliziert
    Parallel lesen

    Lesbare Eigenschaft, die true zurückgibt, wenn die Sound spielt.

  • Parallel lesen

    Ein Bereich, der einen gewünschten Loop-Start und Loop-Ende innerhalb von PlaybackRegion Sekunden kennzeichnet.

  • Parallel lesen

    Legt fest, ob oder nicht der Sound wiederholt wird, sobald er das Spiel beendet hat.

  • Parallel lesen

    Wenn true , wird der Sound spielen, wenn er aus dem Erlebnis entfernt wird.

  • Schreibgeschützt
    Nicht repliziert
    Parallel lesen

    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.

  • Nicht repliziert
    Parallel lesen

    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.

  • Nicht repliziert
    Parallel lesen

    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.

  • Parallel lesen

    Die SoundGroup, die mit diesem Sound verknüpft ist.

  • SoundId:ContentId
    Parallel lesen

    Inhalts-ID der Sounddatei, die mit der Sound verknüpft werden soll.

  • Schreibgeschützt
    Nicht repliziert
    Parallel lesen

    Die Länge des Sound in Sekunden.

  • Nicht repliziert
    Parallel lesen

    Fortschritt der Sound in Sekunden. Kann geändert werden, um die Wiedergabeposition der Sound sowohl vor als auch während der Wiedergabe zu verschieben.

  • Parallel lesen

    Die Lautstärke des Sound.

Methoden

Ereignisse

Eigenschaften

ChannelCount

Schreibgeschützt
Nicht repliziert
Nicht durchsuchbar
Roblox-Skript-Sicherheit
Parallel lesen

IsLoaded

Schreibgeschützt
Nicht repliziert
Parallel lesen

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.

Load Sound

local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")

IsPaused

Verborgen
Schreibgeschützt
Nicht repliziert
Parallel lesen

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.

Sound IsPlaying and SoundIsPaused

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

Verborgen
Schreibgeschützt
Nicht repliziert
Parallel lesen

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.

Sound IsPlaying and SoundIsPaused

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

Parallel lesen

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

Parallel lesen

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.

Loop a Number of Times

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

Parallel lesen

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

Schreibgeschützt
Nicht repliziert
Parallel lesen

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.

Volume Amplitude Bar

-- 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

Parallel lesen

Ein Bereich, der eine gewünschte Start- und Stoppzeit innerhalb von TimeLength in Sekunden angibt.

PlaybackRegionsEnabled

Parallel lesen

Wenn true , gibt diese Eigenschaft Ihrem Sound Zugriff auf die PlaybackRegion und LoopRegion Eigenschaften, die seine Wiedergabe genauer steuern können.

PlaybackSpeed

Nicht repliziert
Parallel lesen

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.

Ton-Wiedergabegeschwindigkeit

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

Nicht repliziert
Parallel lesen

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.

Sound Playing

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

Parallel lesen

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

Parallel lesen

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

Parallel lesen

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.

SoundGroup

Parallel lesen

Die SoundGroup, die mit diesem Sound verknüpft ist.

SoundId

ContentId
Parallel lesen

Diese Eigenschaft ist die Inhalts-ID der Tondatei, die mit der Sound verknüpft werden soll. Siehe Audio-Assets für weitere Informationen.

TimeLength

Schreibgeschützt
Nicht repliziert
Parallel lesen

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.

Play a Sound for a Specific Duration

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

Nicht repliziert
Parallel lesen

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.5
if newPosition >= sound.TimeLength then
newPosition = newPosition - sound.TimeLength
end
sound.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).

Sound TimePosition

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

Parallel lesen

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.

Klangfunktionen

-- 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.

Klangfunktionen

-- 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.

Klangfunktionen

-- 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.

Klangfunktionen

-- 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

soundId: string

Die SoundId des Sound, die sich wiederholt hat.

numOfTimesLooped: number

Die Anzahl der Male, in denen die Sound geschleift wurde.


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.

Loop a Number of Times

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

soundId: string

Das SoundId des Sound, das beendet wurde.


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

soundId: string

Die SoundId des Sound, die 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.

Load Sound

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

soundId: string

Die SoundId des Sound, die unterbrochen wurde.


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.

Klangfunktionen

-- 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

soundId: string

Die SoundId des Sound, die gespielt wurde.


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.

Klangfunktionen

-- 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

soundId: string

Die SoundId des Sound wird fortgesetzt.


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.

Klangfunktionen

-- 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

soundId: string

Die SoundId des Sound, die angehalten hat.


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.

Klangfunktionen

-- 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