Sound
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Un Sound est un objet qui émet du son.
2D et 3D Sound
Un son placé dans un BasePart ou un Attachment émettra son son à partir de l'emplacement de Class.
Un son est considéré comme « global » s'il n'est pas associé à un BasePart ou un Attachment. Dans ce cas, le son jouera au même volume dans tout l'emplacement.
Échantillons de code
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()
Résumé
Propriétés
Cette propriété sera vraie lorsque le Sound aura été chargé à partir des serveurs Roblox et sera prêt à jouer.
Cette propriété de lecture ne renvie pas vrai quand la Sound ne joue pas.
Cette propriété de lecture ne renvie pas vrai quand la Sound joue.
Une portée dénotant le début et la fin d'un boucle dans la Sound.PlaybackRegion, en secondes.
Ceci détermine si oui ou non le Sound se répète une fois qu'il a terminé lorsqu'il joue.
Lorsque vrai, le Sound jouera lorsqu'il sera retiré du jeu, en héritant du Sound ou d'un de ses ancêtres à zéro.
Un nombre entre 0 et 1000 indiquant à quel point le Sound est actuellement en retourde jouer.
Une plage indiquant un début souhaité (min) et une fin (max) dans le Sound.TimeLength, en secondes.
Si true , cette propriété donne à votre Sound l'accès aux propriétés Sound.PlaybackRegion et 1> Class.Sound.LoopRegion1>, qui peuvent contrôler plus précisément sa restitution.
Détermine la vitesse à laquelle un Sound jouera, avec des valeurs plus élevées entraînant le son à jouer plus vite et à une plus haute fréquence.
Indique si le Sound est actuellement en train de jouer.
La distance maximale, en studs, d'un client's écouteur peut être de l'origine Sound\s et toujours l'entendre. S'applique uniquement aux sons parentés à un Part ou Attachment (les sons 3D).
La distance minimale, en studs, à laquelle un 3D Sound (fils direct d'un BasePart ou Attachment ) commencera à atténuer (diminuer en volume).
Contrôle la façon dont la volumétrie d'un Sound (parenté à un BasePart ou Attachment) se comporte comme la distance entre le parent et le son change.
Le SoundGroup qui est lié à ce Sound . Les effets sonores et les effets sonores appliqués à ce groupe sonore seront appliqués au son. Un son ne peut être dans un groupe sonore qu'à la fois.
Cette propriété est l'ID de contenu du fichier sonore avec lequel un objet Sound est associé. Une fois qu'un son a été téléchargé sur Roblox, l'ID de contenu peut être trouvé dans l'URL du son téléchargé.
La longueur du Sound dans secondes. Si le Sound n'est pas chargé, cette valeur sera 0.
Affiche le progrès en secondes de la Sound. Peut être modifié pour déplacer la position de lecture de la Sound. Peut être changé pour déplacer la position de lecture pendant la lecture, soit avant, soit pendant.
Le volume du Sound. Peut être réglé entre 0 et 10. Par défaut, 0.5.
Méthodes
Définit Sound.Playing sur false. Cela met fin à la lecture du Sound si le son est activé. En tant que Sound.TimePosition ne se réinitialise pas, lorsque le 1> Class.Sound1> reprend, il continuera de son emplacement précédent.
Joue le Sound . Définit Sound.TimePosition sur la dernière valeur définie par un Script (ou 0 si elle n'a pas été configurer), puis définit 1> Class.Sound.Playing1> sur vrai.
Résume le Sound. Définit Sound.Playing sur vrai. Ne modifie pas Sound.TimePosition et peut donc être utilisé pour reprendre le playback d'un son arrêté en utilisant 2>Class.Sound:Pause2>.
Arrête le Sound. Définit Sound.Playing sur false, puis définit Sound.TimePosition sur 0.
Évènements
Événement qui se déclenche chaque fois que les boucles Sound. Retourne le sonID et numOfTimesLooped, ce qui donne le contenuID du son et le nombre de fois bouclées respectivement.
Feu quand le Sound a terminé le jeu et s'est arrêté.
Se déclenche lorsque le Sound est chargé.
Démarre toujours que lorsque le Sound est interrompu en utilisant Sound:Pause().
Démarre chaque fois que le Sound est joué à l'aide de la fonction Sound:Play().
Se déclenche lorsque le Sound est repripris en utilisant Sound:Resume().
Se déclenche lorsque le Sound est arrêté en raison de la fonction Sound:Stop().
Propriétés
ChannelCount
IsLoaded
Cette propriété sera vraie lorsque le Sound aura été chargé à partir des serveurs Roblox et sera prêt à jouer.
Dans Roblox, les fichiers audio ne sont pas stockés dans les jeux eux-mêmes, mais sont hébergés sur les serveurs Roblox et référencés par la propriété Sound.SoundId. Cela signifie qu'ils doivent être téléchargés sur le client avant qu'ils puissent être joués. Cela peut prendre un certain temps en fonction de la connexion Internet de l'utilisateur, de la longueur du son et du nombre d'autres objets qui doivent être chargés
Les développeurs peuvent utiliser la propriété Sound.IsLoaded et l'événement Sound.Loaded si ils souhaitent vérifier qu'un son a été chargé avant de le jouer.
Échantillons de code
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
IsPaused
Cette propriété de lecture ne renviera pas vrai que lorsque le Sound ne joue pas. Remarquez que cette propriété ne renverra pas seulement vrai une fois qu'un son a été暂停 en utilisant la fonction Sound:Pause() mais également si elle n'a pas été arrêté en utilisant la fonction Sound:Stop() ou jamais joué.
Cette propriété ne sera vraie que lorsque Sound.IsPlaying est faux.
Comme IsPaused est lu seulement, il ne peut pas être utilisé pour arrêter le son, Sound:Stop() et Sound:Pause() doivent être utilisés à la place.
Échantillons de code
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
Cette propriété de lecture ne renvie pas vrai quand la Sound joue.
Cette propriété ne peut être vraie que lorsque Sound.IsPaused est faux.
Comme IsPlaying est seulement lu, il ne peut pas être utilisé pour jouer le son, Sound:Play() doit être utilisé à la place.
Échantillons de code
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
Une portée indiquant le début et la fin d'un boucle dans la région sonore Sound.PlaybackRegion dans secondes.
Si LoopRegion.Min > PlaybackRegion.Min , le loop commence à partir du LoopRegion.Min .
Si LoopRegion.Min < PlaybackRegion.Min , le boucle commence à partir du PlaybackRegion.Min .
Si LoopRegion.Max > PlaybackRegion.Max , le boucle commence à PlaybackRegion.Max .
Si LoopRegion.Max < PlaybackRegion.Max , le boucle commence à exactement à ce moment-là.
Si LoopRegion.Min == LoopRegion.Max, le LoopRegion.Max utilise la propriété Sound à la place.
Looped
Ceci détermine si oui ou non le Sound se répète une fois qu'il a terminé lorsqu'il joue.
Les sons trafiqués sont appropriés pour une gamme d'applications, y compris la musique et les sons d'arrière-plan. L'événement Sound.DidLoop peut être utilisé pour suivre le nombre de fois que le son a été trafiqué.
Échantillons de code
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
Lorsque vrai, le Sound jouera lorsqu'il sera retiré du jeu.
Remarquez que le son se jouera lorsque la propriété Instance.Parent de la Sound ou l'un de ses ancêtres est réglé sur zéro. Cela signifie que tout ce qui suit provoquera le son lorsque PlayOnRemove est vrai. Notez, cela inclut Instance:Destroy() comme la fonction de destruction définie le parent à zéro.
son : Détruire le son.Parent = nil son.Parent.Parent = nil
Échantillons de code
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = workspace
sound.PlayOnRemove = true
task.wait(3)
sound:Destroy()
PlaybackLoudness
Un nombre entre 0 et 1000 indiquant à quel point le Sound est actuellement en retourde jouer.
Cette propriété reflète l'amplitude de la restitution du son dans l'instance du temps qu'il est lu. Par conséquent, pour la plupart des sons, il flotte constamment. En raison de cela, il peut apparaître dans la fenêtre des propriétés Roblox Studio comme 0, mais lorsque il est lu par le code dans la barre de commande ou Scripts, il retournera la valeur correcte.
Échantillons de code
-- 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
Une plage indiquant un début souhaité (min) et une fin (max) dans le Sound.TimeLength, en secondes.
Si PlaybackRegion.Min > 0, le son commence à jouer à partir du temps PlaybackRegion.Min.
Si PlaybackRegion.Min < 0, le son commence à jouer à partir de 0.
Si PlaybackRegion.Max > Sound.TimeLength , le son s'arrête à Sound.TimeLength .
Si PlaybackRegion.Max < Sound.TimeLength, le son s'arrête à exactement à cette heure.
Si PlaybackRegion.Min == PlaybackRegion.Max, la PlayBackRegion est inactif.
PlaybackRegionsEnabled
Si true , cette propriété donne à votre Sound l'accès aux propriétés Sound.PlaybackRegion et 1> Class.Sound.LoopRegion1>, qui peuvent contrôler plus précisément sa restitution.
PlaybackSpeed
Détermine la vitesse à laquelle un Sound jouera. Plus la valeur est grande, plus le son se reproduira retour.
Par exemple, une valeur de 2 fera en sorte que le Sound joue 2x plus vite, tandis qu'une valeur de 0,5 fera en sorte qu'il joue 2x plus lentement. Lorsque PlaybackSpeed est égale à 1, le son prendra Sound.TimeLength (en secondes) pour se terminer.
Notez que l'augmentation de la vitesse de lecture d'un son provoquera sa lecture à une fréquence plus élevée.
Échantillons de code
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
Indique si le Sound est actuellement en train de jouer. Ceci peut être basculé, et cette propriété sera toujours répliquée.
Dans l'éditeur de studio, Sounds ne sont pas jouables car le temps s'arrête. En configurant Sound.Playing comme descendants d'un Sounds, vous ne faites rien. Cependant, vous pouvez jouer de l'audio à partir de l'intérieur des plugins en configurant le 1> Class.Sound|Sons comme descendants d'un
Cette propriété ne doit pas être confondue avec Sound.IsPlaying qui est une propriété de lecture seule. Le jeu peut être réglé sur vrai ou faux pour démarrer ou arrêter le playback d'un son.
Remarquez que lorsque Play est réglé sur false, la propriété Sound.TimePosition du son ne se réinitialisera pas. Cela signifie que lorsque Play est réglé à nouveau sur true, l'audio continuera à partir de la position du temps à laquelle il a été arrêté. Cependant, si la fonction Sound:Play() est utilisée pour reprendre le son, la position du temps sera réinitialisée à 0.
Échantillons de code
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
print("playing sound")
sound.Playing = true
task.wait(10)
print("stopping sound")
sound.Playing = false
task.wait(5)
sound.Playing = true
local timePosition = sound.TimePosition
print("resumed at time position: " .. tostring(timePosition)) -- c. 10 seconds
RollOffMaxDistance
La distance maximale, en studs, d'un client's écouteur peut être de l'origine Sound et toujours l'entendre. S'applique uniquement aux sons parentés à un Part ou Attachment (les sons 3D).
L'atténuation d'un son (manière dont il s'estompe) dépend de la propriété Sound.RollOffMode. Lorsque le mode RollOff est réglé pour utiliser un modèle de distance inversé (Inverse ou InverseTapered) la RollOffMaxDistance n'affectera pas l'atténuation du son. Cela signifie que les
Lorsque RollOffMode est réglé sur un modèle de distance linéaire (Linéaire ou linéaire carré) le son s'atténuera entre Sound.EmitterSize et MaxDistance (avec un volume de lecture atteignant zéro à RollOffMaxDistance). Ceci est moins réaliste, mais dans certains cas, il permet d'atténuer le traitement de manière plus intuitive.
RollOffMinDistance
La distance minimale, en studs, à laquelle un 3D Sound (fils direct d'un BasePart ou Attachment ) commencera à atténuer (diminuer en volume).
Les sons sont liés à un BasePart ou Attachment qui sont les descendants du Workspace sont considérés comme des sons 3D et leur volume est dépendant de la distance entre le dernier écouteur de son de
La façon dont le Sound s'atténue (disparaît) après que la distance entre le lecteur et le son dépasse la valeur RollOffMinDistance déterminée par le mode RollOff.
RollOffMode
Cette propriété définit comment 3D Sounds atténue (fade out) en fonction de la distance entre le lecteur et le parent de son enfant augmenter. Il peut être réglé sur l'un des valeurs de l'Enum.RollOffMode枚.
Le code suivant définira RollOffMode comme linéaire :
sound.RollOffMode = Enum.RollOffMode.Linear
Les différents modes
Les options suivantes sont disponibles :
<tbody><tr><td>Inverse</td><td>Le volume diminue de <code>Sound/RollOffMinDistance</code> dans une manière inversée.</td></tr><tr><td>InverseTapered</td><td>Un modèlisation. Suit le modèle Inverse lorsque vous êtes près de RollOffMinDistance et le modèle Linéaire Square lorsque vous êtes près de Sound/RollOffMaxDistance.</td></tr><tr><td>Linéaire</td><td>Le volume varie entre <code>RollOffMinDistance</code> et <code>Sound/RollOffMaxDistance</code> avec une relation linéaire.</td></tr><tr><td>Carré linéaire</td><td>Le volume varie entre <code>RollOffMinDistance</code> et <code>Sound/RollOffMaxDistance</code> avec une relation linéaire carrée.</td></tr></tbody>
Mode | Description |
---|
Inversion de la distance de mesure linéaire
Par défaut, les sons sont réglés pour utiliser la réduction de distance inversée (Enum.RollOffMode.Inverse) qui reflète la façon dont les sons se réduisent dans le monde réel. Sous la réduction de distance inversée, les sons commenceront à réduire une fois que la distance entre le lecteur et le parent du son dépassera la valeur de RollOff
RollOffMaxDistance n'affectera pas l'atténuation sous le modèle inversé, mais provoquera la coupure du son une fois cette distance atteinte. Ceci peut être particulièrement brut lors de l'utilisation de valeurs faibles pour la distance maximale.
La distance linéaire atténue fonctionne différemment. Sous la distance linéaire atténée, le son s'atténuera entre RollOffMinDistance et RollOffMaxDistance, ce qui fera taire le son une fois que MaxDistance est atteint. RollOffMinDistance détermine toujours le point à partir duquel le son commencera à atténuer. Cependant, le volume audible à tout moment dépend du point auquel
SoundGroup
Le SoundGroup qui est lié à ce Sound . SoundGroup.Volume et 1> Class.SoundEffect|SoundEffects1> appliqué à ce groupe sonore sera passé au son. Un son ne peut être dans un groupe sonore qu'à la fois.
Class.SoundGroup|SoundGroups sont utilisés pour gérer le volume et les effets de plusieurs Sounds à la fois. Un Sound est ajouté à un 0> Class.SoundGroup0> en ajoutant la propriété SoundGroups3> de la sonnerie.
Échantillons de code
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
Cette propriété est l'ID de contenu du fichier sonore avec lequel un objet Sound est associé. Une fois qu'un son a été téléchargé sur Roblox, l'ID de contenu peut être trouvé dans l'URL du son téléchargé.
Il est important de se souvenir que l'URL n'est pas la même que l'ID du contenu. Il fonctionnera lorsqu'il sera collé directement dans la propriété SoundId d'un Sound dans Roblox Studio, car Studio le corrige automatiquement, mais si c'est un Script configuré, l'ID du contenu correct sera nécessaire, en utilisant le numéro de l'URL. Par exemple :
"https://www.roblox.com/catalog/9120386436" -- URL Web (ne fonctionnera pas)"http://www.roblox.com/asset/?id=9120386436" -- ID de contenu (fonctionnera)"rbxassetid://9120386436" -- Content ID (alternative version, will work)
Échantillons de code
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
TimeLength
La longueur du Sound dans secondes. Si le Sound n'est pas chargé, cette valeur sera 0.
Cette propriété est souvent utilisée en conjonction avec Sound.PlaybackSpeed pour ajuster la vitesse d'un son afin qu'il dure pendant une durée spécifique (voir des exemples). Lorsque Sound.PlaybackSpeed est égale à 1, le son prendra le temps de vie secondes pour terminer.
Échantillons de code
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
Affiche le progrès dans les secondes de la Sound. Peut être modifié pour déplacer la position de lecture du son. Si le son est déjà en train de jouer, alors la lecture sera ajustée à la position spécifiée. Si ce n'est pas le cas, la Sound commencera à jouer au prochain endroit lorsque le son sera joué.
Lorsque Class.Sound est joué, TimePosition augmente à un rythme de Sound.PlaybackSpeed par seconde. Une fois que TimePosition atteint Sound.TimeLength, le son s'arrête à moins qu'il ne soit en boucle. Cela signifie que, à moins que Class.Sound.Looped
Notez que le paramètre TimePosition à une valeur supérieure à la longueur dans un circuit en boucle ne provoquera pas son tournement. Si ce comportement est souhaité, le développeur doit faire les choses suivre.
si la nouvelle position est supérieure à la longueur du son, la nouvelle position est la nouvelle position - la longueur du son.La position de fin est la nouvelle position
Définir TimePosition à un niveau inférieur à zéro n'a pas d'effet sur le jeu, mais ce comportement ne doit pas être attendu.
Échantillons de code
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
Le volume de la Sound. Peut être réglé entre 0 et 10. Par défaut, 0.5
Remarquez que si le Sound est un membre d'un SoundGroup il son volume de lecture (mais pas la propriété Volume) sera influencé par la propriété SoundGroup.Volume de ce 2>Class.SoundGroup2>. L'effet de ceci
Échantillons de code
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.PlaybackSpeed = 2
sound.Parent = workspace
sound.Volume = 2
sound:Play()
task.wait(7)
sound.Volume = 0.2
Méthodes
Pause
Définit Sound.Playing sur false. Ceci interrompt le playback du Sound si le son est en train de jouer. Contrairement à Sound:Stop() , il ne réinitialise pas 1> Class.Sound.TimePosition1> ce qui signifie que le son peut être repripris en utilisant 4> Class.Sound:Resume
L'impact des différentes fonctions sonores sur Sound.Playing et Sound.TimePosition est affiché ci-dessous.
<tbody><tr><td>Son :Jouer()</td><td>Vrai</td><td>Dernière valeur définie dans Lua (par défaut 0)</td></tr><tr><td>Son : Pause()</td><td>Faux</td><td>:-</td></tr><tr><td>Son : Résumer</td><td>Vrai</td><td>:-</td></tr><tr><td>Son : Arrêter</td><td>Faux</td><td>0</td></tr></tbody>
Fonction | Son.Jouer | Position du son |
---|
Retours
Échantillons de code
-- 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
Joue le Sound . Définit Sound.TimePosition sur la dernière valeur définie par un Script (ou 0 si elle n'a pas été configurer), puis définit 1> Class.Sound.Playing1> sur vrai.
L'impact des différentes fonctions Sound sur Sound.Playing et Sound.TimePosition sont affichés ci-dessous.
<tbody><tr><td>Son :Jouer()</td><td>Vrai</td><td>Dernière valeur définie dans Lua (par défaut 0)</td></tr><tr><td>Son : Pause()</td><td>Faux</td><td>:-</td></tr><tr><td>Son : Résumer</td><td>Vrai</td><td>:-</td></tr><tr><td>Son : Arrêter</td><td>Faux</td><td>0</td></tr></tbody>
Fonction | Son.Jouer | Position du son |
---|
Retours
Échantillons de code
-- 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
Résume le Sound. Définit Sound.Playing sur vrai. Ne modifie pas Sound.TimePosition et peut donc être utilisé pour reprendre le playback d'un son arrêté en utilisant 2>Class.Sound:Pause2>.
L'impact des différentes fonctions sonores sur Sound.Playing et Sound.TimePosition est affiché ci-dessous.
<tbody><tr><td>Son :Jouer()</td><td>Vrai</td><td>Dernière valeur définie dans Lua (par défaut 0)</td></tr><tr><td>Son : Pause()</td><td>Faux</td><td>:-</td></tr><tr><td>Son : Résumer</td><td>Vrai</td><td>:-</td></tr><tr><td>Son : Arrêter</td><td>Faux</td><td>0</td></tr></tbody>
Fonction | Son.Jouer | Position du son |
---|
Retours
Échantillons de code
-- 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
Arrête le Sound. Définit Sound.Playing sur false, puis définit Sound.TimePosition sur 0.
L'impact des différentes fonctions sonores sur Sound.Playing et Sound.TimePosition est affiché ci-dessous.
<tbody><tr><td>Son :Jouer()</td><td>Vrai</td><td>Dernière valeur définie dans Lua (par défaut 0)</td></tr><tr><td>Son : Pause()</td><td>Faux</td><td>:-</td></tr><tr><td>Son : Résumer</td><td>Vrai</td><td>:-</td></tr><tr><td>Son : Arrêter</td><td>Faux</td><td>0</td></tr></tbody>
Fonction | Son.Jouer | Position du son |
---|
Retours
Échantillons de code
-- 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
Évènements
DidLoop
Événement qui se déclenche chaque fois que les boucles Sound. Retourne le sonID et numOfTimesLooped, ce qui donne le contenuID du son et le nombre de fois bouclées respectivement.
Lorsque le Sound est arrêté, le compteur trafiqué se réinitialise, ce qui signifie que l'événement suivant DidLoop renverra 1 pour numOfTimesLooped.
Paramètres
Le Sound.SoundId de la Sound qui s'est répété.
Échantillons de code
local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)
Ended
Se déclenche lorsque le Sound a terminé le playback et s'est arrêté. Remarquez que cet événement ne se déclenche pas pour les sons avec Sound.Looped défini sur vrai car ils continuent à jouer lorsqu'ils atteignent leur terminer.
Cet événement est souvent utilisé pour détruire un son lorsqu'il a terminé la lecture.
sound:Play()sound.Ended:Wait()sound:Destroy()
Cet événement ne se déclenche que si le son atteint sa terminer. Cela signifie qu'il ne se déclenchera pas non plus lorsque le son est arrêté avant la fin de la lecture, pour cet usage Sound.Stopped .
Paramètres
Le Sound.SoundId de la Sound qui s'est terminé.
Loaded
L'événement Sound.Loaded se déclenche lorsque le Sound est chargé.
Remarquez que cet événement ne se déclenchera que lorsque le son sera chargé. Cela signifie que si vous l'écoutez pour lorsque le son est déjà chargé, il ne renvoyerpas. Donc, il est recommandé de vérifier Sound.IsLoaded avant de vous connecter à cet événement.
Paramètres
Le Sound.SoundId de la Sound chargée.
Échantillons de code
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
Paused
Démarre toujours que lorsque le Sound est interrompu en utilisant Sound:Pause().
Comme avec Sound.Played , Sound.Resumed et Sound.Stopped , seule la fonction sonore respective provoquera le lancerde l'événement. Cela signifie que Pause ne s'exécutera que lorsque 1> Class.Sound:Pause()1> est appelé.
Paramètres
Le Sound.SoundId de la Sound qui a été暂停.
Échantillons de code
-- 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
Démarre chaque fois que le Sound est joué à l'aide de la fonction Sound:Play().
Comme avec Sound.Stopped , Sound.Paused et Sound.Resumed , seule la fonction sonore respective provoquera l'événement. Cela signifie que Played ne tirera que lorsque
Paramètres
Le Sound.SoundId de la Sound qui a été jouée.
Échantillons de code
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Resumed
Se déclenche lorsque le Sound est repripris en utilisant Sound:Resume().
Comme avec Sound.Played , Sound.Paused et Sound.Stopped , seule la fonction sonore respective provoquera le lancerde l'événement. Cela signifie que Resume ne s'exécutera que lorsque 1> Class.Sound:Resume()1> est appelé.
Paramètres
Le Sound.SoundId de la Sound repris.
Échantillons de code
-- create a sound
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- listen for events
sound.Played:Connect(function(_soundId)
print("Sound.Played event")
end)
sound.Paused:Connect(function(_soundId)
print("Sound.Paused event")
end)
sound.Resumed:Connect(function(_soundId)
print("Sound.Resumed event")
end)
sound.Stopped:Connect(function(_soundId)
print("Sound.Stopped event")
end)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- pause false 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- play true 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- stop false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0
Stopped
Se déclenche lorsque le Sound est arrêté en raison de la fonction Sound:Stop().
Comme avec Sound.Played , Sound.Paused et Sound.Resumed , seule la fonction sonore respective provoquera le déclenchement de l'événement. Cela signifie que Stopped ne s'exécutera que lorsque 1> Class.Sound:Stop()1> est appelé. La destruction d'un son pendant qu'il joue
Paramètres
Le Sound.SoundId de la Sound qui s'est arrêté.
Échantillons de code
-- 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