Sound
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Sound jest obiektem, który emituje dźwięk.Gdy umieszczony zostanie w BasePart lub Attachment, ten obiekt wyemituje swój dźwięk z części BasePart.Position lub załącznika Attachment.WorldPosition.W tej lokalizacji Sound pokazuje efekt Dopplera, co oznacza, że jego częstotliwość i wysokość zmienia się wraz z ruchom relatywnym jakiegokolwiek załącznika lub części, do których jest przymocowany.Ponadto jego objętość zostanie określona przez odległość między odbiornikiem dźwięku klienta (domyślnie pozycją Camera ) a pozycją rodzica dźwięku.Aby uzyskać więcej informacji, zobacz RollOffMode.
Dźwięk jest uważany za "globalny", jeśli jest nie powiązany z BasePart lub Attachment.W tym przypadku dźwięk zagra na tym samym poziomie głośności przez całe miejsce.
Przykłady kodu
Kod w tym przykładzie pokazuje, jak dźwięk powiązany z częścią lub załącznikiem będzie odtwarzany lokalnie i doświadczy spadku głośności, im dalej kamera gracza jest od części.
Część jest instancjonowana, a dźwięk jest instancjonowany i powiązany z częścią.Detektor klików jest skonfigurowany na części, która sprawdzi, czy dźwięk jest odtwarzany, używając Sound.IsPlaying i odtwarzać lub zatrzymywać dźwięk w zależności.
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
-- stworzenie dźwięku
local sound = Instance.new("Sound", part)
sound.SoundId = "rbxassetid://9120386436"
sound.EmitterSize = 5 -- zmniejsz rozmiar emitera (dla wcześniejszego spadku objętości)
sound.Looped = true
sound.Parent = part
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
-- przełącz dźwięk odtwarzania / nie odtwarzania
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)
Podsumowanie
Właściwości
Właściwość ta jest true gdy Sound załadowano z serwerów Roblox i jest gotowa do grać.
Właściwość tylko do odczytu, która zwraca true, gdy Sound nie gra.
Właściwość tylko do odczytu, która zwraca true, gdy Sound gra.
Zakres oznaczający początek i koniec pożądanego cyklu w PlaybackRegion , w sekundach.
Ustawia, czy Sound powtórzy się po zakończeniu odtwarzania.
Gdy true , Sound zagra, gdy zostanie usunięty z doświadczenia.
Liczba pomiędzy 0 a 1000 wskazująca, jak głośno Sound obecnie wstecz.
Zakres oznaczający pożądaną początkową i końcową godzinę w TimeLength, w sekundach.
Jeśli true, ta właściwość daje dostęp Sound do właściwości PlaybackRegion i LoopRegion, które mogą bardziej dokładnie kontrolować jego odtwarzanie.
Określa prędkość, z jaką Sound grać, z wyższymi wartościami powodującymi, że dźwięk będzie odtwarzany szybciej i na wyższej wysokości.
Wskazuje, czy Sound jest obecnie odtwarzany.
Maksymalna odległość, w szpilkach, słuchacz klienta może być od pochodzenia dźwięku i nadal go usłyszeć.Dotyczy tylko Sounds rodzica związanego z BasePart lub Attachment.
Minimalna odległość, w szpilkach, w której Sound który jest powiązany z BasePart lub Attachment zacznie się zmniejszać (spadek objętości).
Kontroluje, w jaki sposób głośność Sound, która jest powiązana z BasePart lub Attachment zmniejsza się (nanbuje) w miarę zmiany odległości między odbiorcą a rodzicem.
The SoundGroup , które jest powiązane z tym Sound .
ID zawartości pliku dźwiękowego, który ma być powiązany z Sound.
Długość Sound w sekundach.
Postęp Sound w sekundach. Można zmienić, aby przenieść pozycję odtwarzania Sound zarówno przed, jak i podczas odtwarzania.
Głosność Sound .
Metody
Zdarzenia
Wystrzeliwuje za każdym razem, gdy pętle Sound się powtarzają.
Wypala się, gdy Sound zakończy odtwarzanie i zatrzyma się.
Wypala się, gdy Sound jest wczytywany.
Wystrzeliwuje za każdym razem, gdy Sound jest wstrzymywany za pomocą Pause() .
Wystrzeliwuje za każdym razem, gdy Sound jest odtwarzany za pomocą Play().
Wystrzeliwuje, gdy Sound zostanie wznowione za pomocą Resume() .
Wystrzeliwuje, gdy Sound zostanie zatrzymany za pomocą Stop() .
Właściwości
ChannelCount
IsLoaded
Właściwość ta jest true gdy Sound załadowano z serwerów Roblox i jest gotowa do grać.Możesz użyć tej właściwości i wydarzenia Loaded, aby zweryfikować, czy dźwięk został wczytany przed jego odtworzeniem.
Przykłady kodu
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
Ta właściwość tylko odczytowa zwraca true, gdy Sound nie gra.Zauważ, że może on zwrócić true, jeśli dźwięk został wstrzymany za pomocą Pause() , jeśli został zatrzymany za pomocą Stop() lub dźwięk nigdy nie został odtwarzany.
Ponieważ jest odczytywany tylko w trybie odczytu, nie może być używany do zatrzymania dźwięku; lub powinien zostać zamiast tego użyty.
Przykłady kodu
Ten przykład kodu pokazuje, kiedy właściwości Sound.IsPlaying i Sound.IsPaused będą prawdziwe lub fałszywe.
Dźwięk jest instancjalizowany w przestrzeni roboczej i właściwość Sound.IsLoaded jest sprawdzana, aby upewnić się, że została ona załadowana, jeśli nie używa się wydarzenia Sound.Loaded, aby wygenerować skrypt, dopóki dźwięk nie zostanie załadowany.
Gdy dźwięk jest odtwarzany, wstrzymywany i wyłączany, drukowane są właściwości Sound.IsPlaying i Sound.IsPaused, aby pokazać, jak reagują na każdą z tych funkcji.Dźwięk Sound.IsPaused zawsze będzie prawdą, nawet jeśli dźwięk został zatrzymany, a nie wstrzymany.
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) -- prawda, fałsz
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- źle, prawda
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- prawda, fałsz
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true
IsPlaying
Ta właściwość tylko odczytowa zwraca prawdę, gdy Sound gra.
Ponieważ IsPlaying jest tylko do odczytu, nie może być używany do odtwarzania dźwięku; zamiast tego należy użyć Play().
Przykłady kodu
Ten przykład kodu pokazuje, kiedy właściwości Sound.IsPlaying i Sound.IsPaused będą prawdziwe lub fałszywe.
Dźwięk jest instancjalizowany w przestrzeni roboczej i właściwość Sound.IsLoaded jest sprawdzana, aby upewnić się, że została ona załadowana, jeśli nie używa się wydarzenia Sound.Loaded, aby wygenerować skrypt, dopóki dźwięk nie zostanie załadowany.
Gdy dźwięk jest odtwarzany, wstrzymywany i wyłączany, drukowane są właściwości Sound.IsPlaying i Sound.IsPaused, aby pokazać, jak reagują na każdą z tych funkcji.Dźwięk Sound.IsPaused zawsze będzie prawdą, nawet jeśli dźwięk został zatrzymany, a nie wstrzymany.
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) -- prawda, fałsz
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- źle, prawda
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- prawda, fałsz
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true
LoopRegion
Zakres oznaczający początek i koniec pożądanego cyklu w PlaybackRegion , w sekundach.
Jeśli Class.Sound.LoopRegion|LoopRegion.Min``>``Class.Sound.PlaybackRegion|PlaybackRegion.Min , pętla zaczyna się od LoopRegion.Min .
Jeśli Class.Sound.LoopRegion|LoopRegion.Min``<``Class.Sound.PlaybackRegion|PlaybackRegion.Min , pętla zaczyna się od PlaybackRegion.Min .
Jeśli Class.Sound.LoopRegion|LoopRegion.Max``>``Class.Sound.PlaybackRegion|PlaybackRegion.Max , pętla zaczyna się od PlaybackRegion.Max .
Jeśli Class.Sound.LoopRegion|LoopRegion.Max``<``Class.Sound.PlaybackRegion|PlaybackRegion.Max , pętla zaczyna się o dokładnie w tym czasie.
Jeśli , używa właściwości zamiast tego.
Looped
To ustala, czy Sound powtórzy się po zakończeniu odtwarzania.Dźwięki pętlowe są odpowiednie do wielu zastosowań, w tym muzyki i tła dźwięków ambient.
Wydarzenie DidLoop można wykorzystać do śledzenia liczby razy, kiedy dźwięk się powtarzał.
Przykłady kodu
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
Gdy true , Sound zagra, gdy zostanie usunięty z doświadczenia przez rodzicowanie Sound lub jeden, jeśli jego przodkowie do nil .Oznacza to, że wszystko co następuje spowoduje, że dźwięk zostanie odtwarzany, gdy PlayOnRemove jest true :
- sound:Destroy()
- sound.Parent = nil
- sound.Parent.Parent = nil
PlaybackLoudness
Liczba pomiędzy 0 a 1000 wskazująca, jak głośno Sound obecnie wstecz.Właściwość ta odzwierciedla amplitudę odtwarzania dźwięku w instancji czasu, w którym jest przeczytane.
Przykłady kodu
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
Zakres oznaczający pożądaną początkową i końcową godzinę w TimeLength, w sekundach.
Jeśli PlaybackRegion.Min``>``0 , dźwięk zaczyna odtwarzać się od czasu PlaybackRegion.Min.
Jeśli PlaybackRegion.Min``<``0 , dźwięk zaczyna odtwarzać się z 0 .
Jeśli PlaybackRegion.Max``>``Class.Sound.TimeLength , dźwięk zatrzymuje się na Sound.TimeLength .
Jeśli PlaybackRegion.Max``<``Class.Sound.TimeLength , dźwięk zatrzymuje się na dokładnie w tym czasie.
Jeśli Class.Sound.PlaybackRegion|PlaybackRegion.Min``==``Class.Sound.PlaybackRegion|PlaybackRegion.Max , ta właściwość jest nieaktywne.
PlaybackRegionsEnabled
Jeśli true, ta właściwość daje dostęp Sound do właściwości PlaybackRegion i LoopRegion, które mogą bardziej dokładnie kontrolować jego odtwarzanie.
PlaybackSpeed
Określa prędkość, z jaką Sound grać, z wyższymi wartościami powodującymi, że dźwięk będzie odtwarzany szybciej i na wyższej wysokości.
Przykłady kodu
W tym przykładzie dźwięk jest odtwarzany w przestrzeni roboczej.Właściwość PlaybackSpeed zwiększana i zmniejszana w odstępach czasu, aby pokazać jej wpływ na odtwarzanie Dźwięku.
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
task.wait(10)
sound.PlaybackSpeed = 3 -- 3x szybciej
task.wait(5)
sound.PlaybackSpeed = 0.5 -- 2x wolniejszy
task.wait(5)
sound.PlaybackSpeed = 1 -- default
Playing
Wskazuje, czy Sound jest obecnie odtwarzany. Można to przełączyć, a ta właściwość zawsze będzie się powielać.
W oknie Właściwości w Studio, podczas trybu Edytuj , przełączanie Playing``true nie zaczyna odtwarzać dźwięku, ale dźwięk zacznie odtwarzać się podczas uruchamiania.
Właściwość ta nie powinna być mylona z IsPlaying, która jest właściwością tylko do odczytu.
Zauważ, że gdy Playing jest ustawiony na false, właściwość TimePosition dźwięku nie zostanie resetować, co oznacza, że gdy Playing zostanie ponownie ustawiony na true, dźwięk będzie nadal odtwarzał się z pozycji czasowej, w której został zatrzymany.Jeśli jednak funkcja Play() jest używana do wznowienia dźwięku, pozycja czasowa zostanie zresetowana do 0.
Przykłady kodu
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
Maksymalna odległość, w szpilkach, słuchacz klienta może być od pochodzenia dźwięku i nadal go usłyszeć.Dotyczy tylko Sounds rodzica związanego z BasePart lub Attachment.
Jak RollOffMaxDistance wpływa na osłabienie dźwięku (sposób, w jaki znika) zależy od właściwości RollOffMode.
RollOffMinDistance
Minimalna odległość, w szpilkach, w której Sound który jest powiązany z BasePart lub Attachment zacznie się zmniejszać (spadek objętości).
Jak RollOffMinDistance wpływa na osłabienie dźwięku (sposób, w jaki znika) zależy od właściwości RollOffMode.
RollOffMode
Właściwość ta kontroluje, w jaki sposób głośność Sound, która jest powiązana z BasePart lub Attachment zmniejsza się (nanbuje) wraz z odległością między odbiorcą a rodzicem.
Dla szczegółów na temat różnych trybów, patrz Enum.RollOffMode .
SoundId
Ta właściwość jest ID zawartości pliku dźwiękowego, który należy powiązać z Sound. Zobacz Zasoby audio dla więcej informacji.
TimeLength
Długość Sound w sekundach. Jeśli Sound nie zostanie załadowane, wartość ta będzie 0 .
Właściwość ta jest często używana w połączeniu z PlaybackSpeed w celu dostosowania prędkości dźwięku, aby trwał przez określony czas.
Przykłady kodu
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
Właściwość ta odzwierciedla postęp Sound w sekundach.Można ją zmienić, aby przesunąć pozycję odtwarzania dźwięku zarówno przed, jak i podczas odtwarzania.
Gdy jest odtwarzany jako Sound, TimePosition zwiększa się w tempie PlaybackSpeed na sekundę.Gdy TimePosition dotrze do TimeLength, dźwięk się zatrzyma, chyba że jest Looped.
Zauważ, że ustawienie TimePosition do wartości większej niż długość w pętli nie spowoduje, że się zwinie.Jeśli chcesz tego zachowania, rozważ następujący kodowy snippet:
local newPosition = 1.5if newPosition >= sound.TimeLength thennewPosition = newPosition - sound.TimeLengthendsound.TimePosition = newPosition
Przykłady kodu
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
Głosność Sound . Można ją ustawić między 0 a 10 i domyślnie wynosi 0.5 .
Zauważ, że jeśli Sound jest członkiem grupaSoundGroup, jej głośność odtwarzania (ale nie jej właściwość Volume) będzie wpływać na właściwość grupy SoundGroup.Volume.
Metody
Pause
Ta metoda wstrzymuje odtwarzanie Sound jeśli odtwarza, ustawiając Playing na false.W przeciwieństwie do Stop() nie resetuje TimePosition , co oznacza, że dźwięk można wznowić za pomocą Resume() .
Zwroty
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Play
Ta metoda odtwarza Sound i ustawia TimePosition na ostatnią wartość ustawioną przez skrypt (lub 0 jeśli nie została ustawiać), a następnie ustawia Playing na true.
Zwroty
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resume
Ta metoda wznowi Sound i ustawi Playing na true.Nie zmienia TimePosition i dlatego może być używany do wznowienia odtwarzania dźwięku wstrzymanego przez Pause() .
Zwroty
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stop
Ta metoda zatrzymuje Sound i ustawia Playing na false , następnie ustawia TimePosition na 0 .
Zwroty
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Zdarzenia
DidLoop
Wystrzeliwuje za każdym razem, gdy pętle Sound się powtarzają.Wyświetla soundId i numOfTimesLooped, dając ID zawartości dźwięku i liczbę razy powtórzonych odpowiednio.
Gdy Sound zostanie zatrzymany za pomocą Stop() , pętla licznika zostanie zresetowana, co oznacza, że następne wydarzenie DidLoop zwróci 1 dla numOfTimesLooped.
Parametry
Przykłady kodu
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
Wypala się, gdy Sound zakończy odtwarzanie i się zatrzyma. To wydarzenie jest często używane do niszczenia dźwięku po zakończeniu odtwarzania:
sound:Play()sound.Ended:Wait()sound:Destroy()
Zauważ, że to wydarzenie nie nie będzie strzelać do dźwięków z ustawionym na , ponieważ nadal będą grać po dotarciu do kończyć.To wydarzenie również nie będzie się palić , gdy dźwięk zostanie zatrzymany przed rozpoczęciem odtwarzania; dla tego użyj wydarzenia Stopped.
Parametry
Loaded
Wypala się, gdy Sound jest wczytywany.
Ponieważ to wydarzenie wystrzeliwuje się tylko w momencie gdy dźwięk jest wczytywany, zaleca się sprawdzenie właściwości dźwięku IsLoaded przed połączeniem z tym wydarzeniem.
Parametry
Przykłady kodu
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
Wystrzeliwuje za każdym razem, gdy Sound jest wstrzymywany za pomocą Pause() .
Parametry
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Played
Wystrzeliwuje za każdym razem, gdy Sound jest odtwarzany za pomocą Play().To wydarzenie nie nie wybuchnie, jeśli Sound zostanie odtworzone z powodu PlayOnRemove ustawienia na true i zniszczenia dźwięku.
Parametry
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resumed
Wystrzeliwuje, gdy Sound zostanie wznowione za pomocą Resume() .
Parametry
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stopped
Wystrzeliwuje, gdy Sound zostanie zatrzymany za pomocą Stop() . Zniszczenie dźwięku, gdy jest odtwarzany, nie spowoduje wystrzeliwania tego wydarzenia.
Parametry
Przykłady kodu
Ten przykład daje prostą demonstrację tego, co każda z funkcji dźwięku (Sound.Play, Sound.Stop, Sound.Pause i Sound.Resume) robi dla dźwięku.Grania i pozycji czasowej dźwięku.
-- stworzenie dźwięku
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- słuchaj wydarzeń
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) -- zagraj prawdziwym 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- wstrzymaj fałszowy 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- zagraj prawdziwy 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- zatrzymaj fałszywe 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0