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.
A Sound jest obiektem, który emituje dźwięk.
Dźwięk 2D i 3D
Dźwięk umieszczony w BasePart lub Attachment emituje swój dźwięk z
Dźwięk jest uważany za „oglądany”, jeśli nie jest powiązany z BasePart lub Attachment. W tym przypadku dźwięk będzie odtwarzać się w tym samym wolumenie w całym miejsce.
Przykłady kodu
local part = Instance.new("Part")
part.Anchored = true
part.Position = Vector3.new(0, 3, 0)
part.BrickColor = BrickColor.new("Bright red")
part.Name = "MusicBox"
part.Parent = workspace
-- create a sound
local sound = Instance.new("Sound", part)
sound.SoundId = "rbxassetid://9120386436"
sound.EmitterSize = 5 -- decrease the emitter size (for earlier volume drop off)
sound.Looped = true
sound.Parent = part
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
-- toggle the sound playing / not playing
clickDetector.MouseClick:Connect(function()
if not sound.IsPlaying then
part.BrickColor = BrickColor.new("Bright green")
sound:Play()
else
part.BrickColor = BrickColor.new("Bright red")
sound:Stop()
end
end)
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
Podsumowanie
Właściwości
Ta właściwość będzie prawdziwa, gdy Sound zostanie załadowany z serwerów Roblox i będzie gotowy do grać.
Ta własność tylko do czytania zwróci prawdę, gdy Sound nie gra.
Ta własność tylko do czytania zwróci prawdę, gdy Sound gra.
Zakres określający pożądany początek i końcówek w Sound.PlaybackRegion , w sekundach.
Ustawia, czy Sound powtarza się po zakończeniu gry, gdy gra się.
Gdy prawda, Sound zagra, gdy zostanie usunięty z gry, poprzez zagnieżdżenie Sound lub jeden z jego ojców do nula.
Liczba pomiędzy 0 i 1000 wskazująca, jak głośno odtwarza się Sound w tej wstecz.
Zakres określający pożądany początek (min) i zatrzymanie (max) w ciągu Sound.TimeLength , w sekundach.
Jeśli prawda , ta właściwość daje Ci dostęp do Class.Sound.PlaybackRegion i 2> Class.Sound.LoopRegion2> właściwości, które mogą lepiej kontrolować jego odtwarzanie.
Określa prędkość, w jakiej graćSound, z wyższymi wartościami powodującymi, że dźwięk gra szybciej i w wyższym tonie.
Wskazuje, czy Sound gra teraz.
Maksymalna odległość, w studs, słuchawki klienta może być z źródła Sound\s i nadal słyszeć. Ma to zastosowanie tylko do dźwięków powiązanych z Part lub Attachment (dźwięki 3D).
Maksymalna odległość, w studs, na którą zacznie korelować się 3D Sound (bezpośredni dzieciak Class.BasePart lub Class.Arrow) zacznie się zmniejszać ( zmniejszenie w objętości).
Kontroluje, jak głośność 3D Sound (związana z BasePart lub Attachment ) zachowuje się jako dystans między zmianami dystansu między słuchającym a dźwiękiem.
Class.SoundGroup, do którego jest związany ten Sound . Głośność i efekty dźwiękowe zastosowane do tej grupy dźwiękowej będą przekazywane do dźwięku. Dźwięk może być tylko w jednej grupie dźwiękowej na raz.
Ten parametr jest ID treści pliku dźwiękowego, z którym związany jest Sound obiekt. Po zesłaniu dźwięku na Roblox, ID treści można znaleźć w URL zesłanego dźwięku.
Długość Sound w sekundach. Jeśli Sound nie zostanie załadowany, wartość ta będzie równa 0.
Pokazuje postęp w sekundach Sound . Można go zmienić, aby przenieść pozycję odtwarzania z Sound zarówno przed, jak i podczas odtwarzania.
Głośność Sound można ustawić pomiędzy 0 i 10. Domyślnie ustawione na 0.5.
Metody
Ustawia Sound.Playing na false. To wstrzyma odtwarzanie Sound jeśli dźwięk jest odtwarzany. Jako Sound.TimePosition nie jest resetowane, gdy dźwięk zostanie wznowiony, będzie on nadal odtwarzany z poprzedniego położenia.
Odtwarza Sound . Ustawia Sound.TimePosition na ostatni ustawiony przez Script (lub 0, jeśli nie ustawiać), a następnie ustawia 1> Class.Sound.Playing1> na prawdziwy.
Podsumowuje Sound. Ustawia Sound.Playing na prawdziwy. Nie zmienia Sound.TimePosition i więc można go użyć do podsumowania odtwarzania przerwanego używając 2>Class.Sound:Pause()2>.
Zatrzymuje Sound. Ustawia Sound.Playing na fałszywy, a następnie ustawia Sound.TimePosition na 0.
Zdarzenia
Wydarzenie, które wysyłane jest za każdym razem, gdy Sound pętli. Wynika soundId i numOfTimesLooped, dając treści ID dźwięku i liczbę pętli połączonych odpowiednio.
Wyst?puje, gdy Sound zako?czy ? odtwarzanie i zatrzyma.
Wyst?puje po załadowaniu Sound.
Wyst?puje za ka?dym razem, gdy Sound jest zawieszone za pomoc? Sound:Pause().
Wyst?puje za ka?dym razem, gdy Sound jest odtwarzany za pomoc? funkcji Sound:Play().
Wyst?puje, gdy Sound jest wznowiony u?ytkowaniem Sound:Resume().
Wyst?puje, gdy Sound jest zatrzymany z powodu funkcji Sound:Stop().
Właściwości
ChannelCount
IsLoaded
Ta właściwość będzie prawdziwa, gdy Sound zostanie załadowany z serwerów Roblox i będzie gotowy do grać.
W Roblox, pliki audio nie są przechowywane w samych grach, ale są hostowane na serwerach Roblox i odniesionych przez właściwość Sound.SoundId. Oznacza to, że muszą być załadowane na urządzeniu klienta, zanim można je odtwarzać. To może chwilę zależeć w zależności od połączenia sieciowego użytkownika, długości dźwięku i lic
Rozwój może użyć właściwości Sound.IsLoaded i wydarzenia Sound.Loaded, jeśli chce sprawdzić, czy dźwięk został załadowany przed jego odtwarzaniem.
Przykłady kodu
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 czytelna zwróci prawdę, gdy Sound nie gra. Uwaga, że ta właściwość nie zwróci prawdziwe, tylko gdy dźwięk został tymczasowo wstrzymany używając funkcji Sound:Pause() lub nigdy nie zagrał.
Właściwość ta będzie działać tylko wtedy, gdy Sound.IsPlaying będzie fałszywy.
Pausa jest czytana tylko, więc nie może być używana do zatrzymania dźwięku, Sound:Stop() i Sound:Pause() powinny być używane zamiast tego.
Przykłady kodu
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
Ta własność tylko do czytania zwróci prawdę, gdy Sound gra.
Ta właściwość może być prawdziwa tylko wtedy, gdy Sound.IsPaused jest fałszywy.
Ponieważ As IsPlaying jest tylko czytelny, nie można go używać do odtwarzania dźwięku, Sound:Play() należy zamiast tego używać.
Przykłady kodu
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
Zakres określający pożądany początek i końcówek wewnątrz Sound.PlaybackRegion dźwięku w sekundach.
Jeśli LoopRegion.Min > PlaybackRegion.Min , to pętla zaczyna się od LoopRegion.Min .
Jeśli LoopRegion.Min < PlaybackRegion.Min , to pętla zaczyna się od PlaybackRegion.Min.
Jeśli LoopRegion.Max > PlaybackRegion.Max , to pętla zaczyna się na PlaybackRegion.Max .
Jeśli LoopRegion.Max < PlaybackRegion.Max , to pętla zaczyna się o dokładnie w tej chwili.
Jeśli LoopRegion.Min``LoopRegion.Max , Sound używa właściwości 1> Class.Sound.PlaybackRegion1> zamiast tego.
Looped
Ustawia, czy Sound powtarza się po zakończeniu gry, gdy gra się.
Pętli kształtujące się wokół dźwięków są odpowiednie dla zestawu aplikacji, w tym muzyki i otoczenia dźwiękowego. Wydarzenie Sound.DidLoop można użyć do śledzenia liczby czasów, w których dźwięk się pętli.
Przykłady kodu
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local function onCharacterAdded(character)
-- wait for the head to be added
local head = character:WaitForChild("Head")
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = head
sound.Looped = true
sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print("oof! " .. tostring(numOfTimesLooped))
end)
sound:Play()
end
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)
PlayOnRemove
Gdy prawda, Sound będzie grać, gdy zostanie usunięty z gry.
Uwaga na to, że dźwięk zostanie odtwarzany, gdy właściwość Instance.Parent lub jeden z jego ojców jest ustawiony na nil. Oznacza to, że wszystkie następujące powodują, że dźwięk zostanie odtwarzany, gdy PlayOnRemove jest prawdziwy. Uwaga, to obejmuje Sound jako funkcję usuwania ustawioną na nil.
dźwięk:Zniszcz dźwięk.Parent = nil dźwięk.Parent = nil
Przykłady kodu
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = workspace
sound.PlayOnRemove = true
task.wait(3)
sound:Destroy()
PlaybackLoudness
Liczba pomiędzy 0 i 1000 wskazująca, jak głośno odtwarza się Sound w tej wstecz.
Ta właściwość odzwierciedla amplitudę odtwarzania dźwięku w przypadku, gdy zostanie przeczytane. Dlatego dla większości dźwięków będzie ona oscylować nieustannie. Z tego powodu może pojawić się w oknie właściwości Roblox Studio jako 0, ale gdy zostanie odczytana przez kod w pasku komend lub Scripts zwraca poprawną wartość.
Przykłady kodu
-- 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 określający pożądany początek (min) i zatrzymanie (max) w ciągu Sound.TimeLength , w sekundach.
Jeśli PlaybackRegion.Min > 0, dźwięk zaczyna się odtwarzać z czasu PlaybackRegion.Min.
Jeśli PlaybackRegion.Min < 0, dźwięk zaczyna się odtwarzać od 0.
Jeśli PlaybackRegion.Max > Sound.TimeLength , dźwięk kończy się na Sound.TimeLength .
Jeśli PlaybackRegion.Max < Sound.TimeLength , dźwięk zatrzymuje się w dokładnie w tym czasie.
Jeśli PlaybackRegion.Min == PlaybackRegion.Max, PlayBackRegion jest nieaktywne.
PlaybackRegionsEnabled
Jeśli prawda , ta właściwość daje Ci dostęp do Class.Sound.PlaybackRegion i 2> Class.Sound.LoopRegion2> właściwości, które mogą lepiej kontrolować jego odtwarzanie.
PlaybackSpeed
Określa prędkość, w jakiej gra Sound. Im większa wartość, tym szybciej dźwięk będzie grać.
Na przykład wartość 2 spowoduje, że Sound zagra 2x szybciej, podczas gdy wartość 0,5 spowoduje, że zagra 2x wolniej. Gdy PlaybackSpeed jest równy 1, dźwięk zajmie Sound.TimeLength (w sekundach) do ukończenia.
Uwaga, że zwiększając prędkość odtwarzania dźwięku, powoduje ona jego odtwarzanie na wyższym tonie.
Przykłady kodu
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
task.wait(10)
sound.PlaybackSpeed = 3 -- 3x faster
task.wait(5)
sound.PlaybackSpeed = 0.5 -- 2x slower
task.wait(5)
sound.PlaybackSpeed = 1 -- default
Playing
Wskazuje, czy Sound gra teraz. Można to włączyć/wyłączyć, a ta właściwość zawsze się replikuje.
W edytorze studio, Sounds nie można odtwarzać, ponieważ czas jest zatrzymany. Ustawienie Sound.Playing na prawdziwe w trybie edytowania nie robi nic. Jnak, możesz odtwarzać audio z wnętrza pluginów, ustawiając Class.Sound|Sounds jako odziedzicznik
Ta właściwość nie powinna być mylona z Sound.IsPlaying , która jest własnością czytelną. Granie można ustawić na prawdziwy lub fałszywy, aby uruchomić lub zatrzymać odtwarzanie dźwięku.
Uwaga, że gdy Playing jest ustawiony na false, właściwość Sound.TimePosition dźwięku nie zostanie resetować. Oznacza to, że gdy Playing zostanie ustawiony ponownie na true, dźwięk będzie nadal odtwarzać z czasu pozycji, w której został zatrzymany. Jnak, jeśli funkcja Sound:Play() zostanie użyta do w
Przykłady kodu
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 studs, słuchacza może być z źródła Sound i nadal słyszeć. Ma to zastosowanie tylko do dźwięków powiązanych z Part lub Attachment (dźwięki 3D).
Jak RollOffMaxDistance wpływa na zmniejszenie dźwięku (sposób, w jaki zanika) jest zależny od właściwości Sound.RollOffMode. Gdy właściwość RollOffMode jest ustawiona na użycie modelu odwróconej odległości (Inverse lub InverseTapered) to RollOff
Gdy RollOffMode jest ustawiony na liniowy model dystansu (Linear lub LinearSquared), dźwięk będzie zaniknąć między Sound.EmitterSize i MaxDistance (z całą gamą dźwięku osiągającą zero w MaxDistance). To jest mniej realistyczne, ale w niektórych przypadkach umożliwia zaniknięcie w bardziej intuicyjny sposób.
RollOffMinDistance
Maksymalna odległość, w studs, na którą zacznie korelować się 3D Sound (bezpośredni dzieciak Class.BasePart lub Class.Arrow) zacznie się zmniejszać ( zmniejszenie w objętości).
Dźwięki powiązane z BasePart lub Attachment, które są potomstwami Workspace są uważane za dźwięki 3D i ich głośność zależy od dystansu między słuchacz
Sposób, w jaki Sound łaguje (nan) po tym, jak dystans między słuchającym a dźwiękiem przekroczy wartość RollOffMinDistance określoną przez RollOffMode.
RollOffMode
Ten właściwość ustawia, jak 3D Sounds atenuuje (nanie), gdy dystans między słuchającym a ojcem dźwięku zwiększa się. Można ustawić na jeden z wartości Enum.RollOffMode enum.
Poniższy kod ustawi RollOffMode na Linear:
sound.RollOffMode = Enum.RollOffMode.Linear
Różne tryby
Dostępne są następujące opcje:
<tbody><tr><td>Odwróć</td><td>Volume attenuates from <code>Dźwięk/RollOffMinDistance</code> in anverse manner.</td></tr><tr><td>Odwrócony</td><td>Model hybrydowy. Śledzi model Inverse, gdy jest blisko <code>RollOffMinDistance</code> i model Linear Square, gdy jest blisko <code>Sound/RollOffMaxDistance</code> .</td></tr><tr><td>Liniowy</td><td>Volume zmniejsza się między <code>RollOffMinDistance</code> i <code>Sound/RollOffMaxDistance</code> z linią liniową.</td></tr><tr><td>Liniowy Kwadrat</td><td>Volume zmniejsza się między <code>RollOffMinDistance</code> i <code>Sound/RollOffMaxDistance</code> z liniowym stosunkiem kwadratowym.</td></tr></tbody>
Tryb | Opis |
---|
Odwrócona odległość vs liniowy skorygowanie
Domyślnie dźwięki ustawione na użycie odwróconej dystrybucji dystansu (Enum.RollOffMode.Inverse), która odzwierciedla to, jak dźwięki znikają w rzeczywistym świecie. Pod odwróconą dystrybucją dystansu dźwięki zaczynają zanikać
RollOffMaxDistance nie będzie wpływał na zmniejszenie w zależności od modelu odwróconego, ale spowoduje, że dźwięk całkowicie się skróci, gdy ta dystans zostanie osiągnięta. To może być szczególnie gwałtownie, gdy używa się niskich wartości dla maksymalnej dystansu.
Odległość liniowa ma inny działanie. W odległości liniowej odległość odgrywa rolę w odległości między RollOffMinDistance i RollOffMaxDistance, co sprawia, że dźwięk staje się milczeć, gdy MaxDistance osiągnięty. Odległość liniowa odległości odgrywa rolę w od
SoundGroup
Class.SoundGroup, który jest powiązany z tym Sound . SoundGroup.Volume i 1>Class.SoundGroup1> stosowanymi do tej grupy dźwiękowej, będzie przesyłany na dźwięk. Dźwięk może być tylko w jednej grupie dźwiękowej na raz.
SoundGroups służą do zarządzania głośnością i efektami wielu Sounds na raz. A Sound dodany do 0> Class.SoundGroup0> poprzez ustawienie właściwości SoundGroup dla dźwięku.
Przykłady kodu
local SoundService = game:GetService("SoundService")
-- create a sound group
local soundGroup = Instance.new("SoundGroup")
soundGroup.Parent = SoundService
-- create a sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.PlaybackSpeed = 2
sound.SoundGroup = soundGroup
sound.Parent = workspace
-- play the sound
sound:Play()
task.wait(10)
-- change the volume
soundGroup.Volume = 0.1
task.wait(3)
-- return the volume
soundGroup.Volume = 0.5
task.wait(4)
-- add a sound effect
local reverb = Instance.new("ReverbSoundEffect")
reverb.Parent = soundGroup
SoundId
Ten parametr jest ID treści pliku dźwiękowego, z którym związany jest Sound obiekt. Po zesłaniu dźwięku na Roblox, ID treści można znaleźć w URL zesłanego dźwięku.
Ważne jest, aby pamiętać, że URL nie jest taki sam jak ID treści. Będzie działać, gdy pastowany bezpośrednio do właściwości SoundId w Roblox studio, ponieważ Studio automatycznie go naprawi, ale jeśli jest ustawiony z Sound to poprawny identyfikator treści będzie musiał być używany, używając numeru z URL. Na przykład:
"https://www.roblox.com/catalog/9120386436" -- URL strony internetowej (nie będzie działał)"http://www.roblox.com/asset/?id=9120386436" -- Identyfikator treści (zadziała)"rbxassetid://9120386436" -- Content ID (alternative version, will work)
Przykłady kodu
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
TimeLength
Długość Sound w sekundach. Jeśli Sound nie zostanie załadowany, wartość ta będzie równa 0.
Ten parametr jest często używany wraz z Sound.PlaybackSpeed, aby dostosować prędkość dźwięku, aby trwała przez określony czas (patrz przykłady). Gdy Sound.PlaybackSpeed jest równy 1, dźwięk będzie trwać TimeLength sekund, aby go zakończyć.
Przykłady kodu
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
Pokazuje postęp w sekundach Sound . Można go zmienić, aby przenieść pozycję odtwarzania dźwięku. Jeśli dźwięk już odtwarza, to odtwarzanie zatrzyma się na określonej pozycji. Jeśli nie odtwarza dźwięku, to odtwarzanie zacznie się na pozycji ustawionej, gdy następny dźwięk zostanie odtwarzony.
Gdy Sound gra, TimePosition zwiększa się o Sound.PlaybackSpeed na sekundę. Gdy TimePosition osiągnie Sound.TimeLength, Dźwięk przestanie być pętli, co oznacza, że nie jest ustawiony na p
Uwaga, że ustawienie TimePosition na wartość większą niż długość w pętli toru nie powoduje, że się zakręci. Jeśli taki efekt jest pożądany, rozwój powinien wykonać obserwuje.
jeśli nowa pozycja >= dźwięku.TimeLength, to nowa pozycja = nowa pozycja - dźwięku.TimeLength końcowy dźwięk.PozycjaPosition = nowa pozycja
Ustawienie TimePosition na wartość mniejszą niż zero nie wpływa na odtwarzanie, ale to zachowanie nie powinno być wiarygodne.
Przykłady kodu
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łośność Sound można ustawić pomiędzy 0 i 10. Domyślnie ustawione na 0.5
Uwaga, że jeśli Sound jest członkiem SoundGroup jego głośnicy (ale nie właściwość Głośnicy) będą wpływać przez właściwość SoundGroup.Volume tego 2>Class.SoundGroup</
Przykłady kodu
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.PlaybackSpeed = 2
sound.Parent = workspace
sound.Volume = 2
sound:Play()
task.wait(7)
sound.Volume = 0.2
Metody
Pause
Ustawia Sound.Playing na false. To wstrzyma odtwarzanie Sound jeśli dźwięk jest odtwarzany. Nie resetuje Sound:Stop() , co oznacza, że dźwięk może być wznowiony używając 1> Class.Sound.TimePosition1> , co oznacza, że dź
Impakt różnych funkcji dźwiękowych na Sound.Playing i Sound.TimePosition są pokazane poniżej.
<tbody><tr><td>Dźwięk:Graj()</td><td>Prawdziwy</td><td>Ostatni ustawiony wartości w Lua (domyślny 0)</td></tr><tr><td>Dźwięk:Zatrzymaj()</td><td>Fałszywy</td><td>-</td></tr><tr><td>Dźwięk: Zatrzymaj()</td><td>Prawdziwy</td><td>-</td></tr><tr><td>Dźwięk:Stop()</td><td>Fałszywy</td><td>0</td></tr></tbody>
Funkcja | Dźwięk.Gra | Dźwięk.Pozycja czasowa |
---|
Zwroty
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Play
Odtwarza Sound . Ustawia Sound.TimePosition na ostatni ustawiony przez Script (lub 0, jeśli nie ustawiać), a następnie ustawia 1> Class.Sound.Playing1> na prawdziwy.
Wyrażenie różnicy funkcji Sound na Sound.Playing i Sound.TimePosition są pokazane poniżej.
<tbody><tr><td>Dźwięk:Graj()</td><td>Prawdziwy</td><td>Ostatni ustawiony wartości w Lua (domyślny 0)</td></tr><tr><td>Dźwięk:Zatrzymaj()</td><td>Fałszywy</td><td>-</td></tr><tr><td>Dźwięk: Zatrzymaj()</td><td>Prawdziwy</td><td>-</td></tr><tr><td>Dźwięk:Stop()</td><td>Fałszywy</td><td>0</td></tr></tbody>
Funkcja | Dźwięk.Gra | Dźwięk.Pozycja czasowa |
---|
Zwroty
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resume
Podsumowuje Sound. Ustawia Sound.Playing na prawdziwy. Nie zmienia Sound.TimePosition i więc można go użyć do podsumowania odtwarzania przerwanego używając 2>Class.Sound:Pause()2>.
Impakt różnych funkcji dźwiękowych na Sound.Playing i Sound.TimePosition są pokazane poniżej.
<tbody><tr><td>Dźwięk:Graj()</td><td>Prawdziwy</td><td>Ostatni ustawiony wartości w Lua (domyślny 0)</td></tr><tr><td>Dźwięk:Zatrzymaj()</td><td>Fałszywy</td><td>-</td></tr><tr><td>Dźwięk: Zatrzymaj()</td><td>Prawdziwy</td><td>-</td></tr><tr><td>Dźwięk:Stop()</td><td>Fałszywy</td><td>0</td></tr></tbody>
Funkcja | Dźwięk.Gra | Dźwięk.Pozycja czasowa |
---|
Zwroty
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stop
Zatrzymuje Sound. Ustawia Sound.Playing na fałszywy, a następnie ustawia Sound.TimePosition na 0.
Impakt różnych funkcji dźwiękowych na Sound.Playing i Sound.TimePosition są pokazane poniżej.
<tbody><tr><td>Dźwięk:Graj()</td><td>Prawdziwy</td><td>Ostatni ustawiony wartości w Lua (domyślny 0)</td></tr><tr><td>Dźwięk:Zatrzymaj()</td><td>Fałszywy</td><td>-</td></tr><tr><td>Dźwięk: Zatrzymaj()</td><td>Prawdziwy</td><td>-</td></tr><tr><td>Dźwięk:Stop()</td><td>Fałszywy</td><td>0</td></tr></tbody>
Funkcja | Dźwięk.Gra | Dźwięk.Pozycja czasowa |
---|
Zwroty
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Zdarzenia
DidLoop
Wydarzenie, które wysyłane jest za każdym razem, gdy Sound pętli. Wynika soundId i numOfTimesLooped, dając treści ID dźwięku i liczbę pętli połączonych odpowiednio.
Gdy Sound jest zatrzymany, zresetuje się licznik przeróconych znaczeń, co oznacza, że następne wydarzenie DidLoop zwróci 1 dla numOfTimesLooped.
Parametry
Przykłady kodu
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
Wystąpi, gdy Sound zakończy odtwarzanie i zatrzyma. Zauważ, że ten wydarzenie nie będzie działać dla dźwięków z ustawieniem Sound.Looped na prawdziwy, ponieważ odtwarzają one dalej po osiągnięciu kończyć.
Ten wątek jest często używany do usuwania dźwięku, gdy zakończy się odtwarzanie.
sound:Play()sound.Ended:Wait()sound:Destroy()
Ten wążdź tylko się włącza, jeśli dźwięk osiągnął swój kończyć. Oznacza to, że nie będzie on również działać, gdy dźwięk zostanie zatrzymany przed odtwarzaniem, dla tego użycia Sound.Stopped .
Parametry
Loaded
Wydarzenie Sound.Loaded zostanie uruchomione, gdy Sound zostanie załadowany.
Uwaga zdarzenie to będzie działać tylko w czasie ładowania dźwięku. Oznacza to, że jeśli jest słuchane w czasie, gdy dźwięk jest już załadowany, nie będzie ona powtarzać. Dlatego wskazane jest sprawdzenie Sound.IsLoaded przed połączeniem się z tym wydarzeniem.
Parametry
Przykłady kodu
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
Paused
Wyst?puje za ka?dym razem, gdy Sound jest zawieszone za pomoc? Sound:Pause().
Podobnie jak z Sound.Played , Sound.Resumed i Sound.Stopped tylko odpowiednia funkcja dźwiękowa powoduje, że wydarzenie się uruchomi. Oznacza to, że wstrzyma tylko wtedy, gdy 1> Class.Sound:Pause()1> jest wezwany.
Parametry
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Played
Wyst?puje za ka?dym razem, gdy Sound jest odtwarzany za pomoc? funkcji Sound:Play().
Podobnie jak z Sound.Stopped , Sound.Paused i Sound.Resumed tylko odpowiednia funkcja dźwiękowa powoduje, że wydarzenie się uruchomi. To oznacza,
Parametry
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resumed
Wyst?puje, gdy Sound jest wznowiony u?ytkowaniem Sound:Resume().
Podobnie jak z Sound.Played , Sound.Paused i Sound.Stopped tylko odpowiednia funkcja dźwiękowa spowoduje uruchomienie wydarzenia. Oznacza to, że Resume zostanie uruchomiony tylko wtedy, gdy 1> Class.Sound:Resume()1> zostanie wezwany.
Parametry
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stopped
Wyst?puje, gdy Sound jest zatrzymany z powodu funkcji Sound:Stop().
Podobnie jak z Sound.Played , Sound.Paused i Sound.Resumed tylko odpowiednia funkcja dźwiękowa powoduje, że wydarzenie się uruchomi. Oznacza to, że Zatrzymano będzie działać tylko wtedy, gdy 1> Class.Sound:Stop()1> z
Parametry
Przykłady kodu
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0