Sound

Afficher les obsolètes

*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

Music Playing Part

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)
Sound in the Workspace

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()

Résumé

Propriétés

  • Lecture uniquement
    Non répliqué
    Non navigable
    Sécurité des scripts Roblox
    Lecture parallèle
  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Cette propriété sera vraie lorsque le Sound aura été chargé à partir des serveurs Roblox et sera prêt à jouer.

  • Caché
    Lecture uniquement
    Non répliqué
    Lecture parallèle

    Cette propriété de lecture ne renvie pas vrai quand la Sound ne joue pas.

  • Caché
    Lecture uniquement
    Non répliqué
    Lecture parallèle

    Cette propriété de lecture ne renvie pas vrai quand la Sound joue.

  • Lecture parallèle

    Une portée dénotant le début et la fin d'un boucle dans la Sound.PlaybackRegion, en secondes.

  • Lecture parallèle

    Ceci détermine si oui ou non le Sound se répète une fois qu'il a terminé lorsqu'il joue.

  • Lecture parallèle

    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.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Un nombre entre 0 et 1000 indiquant à quel point le Sound est actuellement en retourde jouer.

  • Lecture parallèle

    Une plage indiquant un début souhaité (min) et une fin (max) dans le Sound.TimeLength, en secondes.

  • Lecture parallèle

    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.

  • Non répliqué
    Lecture parallèle

    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.

  • Non répliqué
    Lecture parallèle

    Indique si le Sound est actuellement en train de jouer.

  • Lecture parallèle

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

  • Lecture parallèle

    La distance minimale, en studs, à laquelle un 3D Sound (fils direct d'un BasePart ou Attachment ) commencera à atténuer (diminuer en volume).

  • Lecture parallèle

    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.

  • Lecture parallèle

    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.

  • SoundId:ContentId
    Lecture parallèle

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

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    La longueur du Sound dans secondes. Si le Sound n'est pas chargé, cette valeur sera 0.

  • Non répliqué
    Lecture parallèle

    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.

  • Lecture parallèle

    Le volume du Sound. Peut être réglé entre 0 et 10. Par défaut, 0.5.

Méthodes

Évènements

Propriétés

ChannelCount

Lecture uniquement
Non répliqué
Non navigable
Sécurité des scripts Roblox
Lecture parallèle

IsLoaded

Lecture uniquement
Non répliqué
Lecture parallèle

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

Load Sound

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

IsPaused

Caché
Lecture uniquement
Non répliqué
Lecture parallèle

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

Sound IsPlaying and SoundIsPaused

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
if not sound.isLoaded then
sound.Loaded:Wait()
end
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- false, true
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true

IsPlaying

Caché
Lecture uniquement
Non répliqué
Lecture parallèle

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

Sound IsPlaying and SoundIsPaused

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
if not sound.isLoaded then
sound.Loaded:Wait()
end
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Pause()
print(sound.IsPlaying, sound.IsPaused) -- false, true
task.wait(2)
sound:Play()
print(sound.IsPlaying, sound.IsPaused) -- true, false
task.wait(2)
sound:Stop()
print(sound.IsPlaying, sound.IsPaused) -- false, true

LoopRegion

Lecture parallèle

Une portée indiquant le début et la fin d'un boucle dans la région sonore Sound.PlaybackRegion dans secondes.

Looped

Lecture parallèle

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

Sound Looping

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)
Loop a Number of Times

local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)

PlayOnRemove

Lecture parallèle

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

Sound PlayOnRemove

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

Lecture uniquement
Non répliqué
Lecture parallèle

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

Volume Amplitude Bar

-- to be placed in StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
-- wait for local player PlayerGui
local LocalPlayer = Players.LocalPlayer
local playerGui = LocalPlayer:WaitForChild("PlayerGui")
-- create a ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
-- create a holder for our bar
local frame = Instance.new("Frame")
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
frame.Size = UDim2.new(0.3, 0, 0.05, 0)
frame.Parent = screenGui
-- create a bar
local bar = Instance.new("Frame")
bar.Position = UDim2.new(0, 0, 0, 0)
bar.Size = UDim2.new(1, 0, 1, 0)
bar.BackgroundColor3 = Color3.new(0, 1, 0)
bar.Parent = frame
-- create a sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = screenGui
sound:Play()
-- define a max loudness
local maxLoudness = 30
-- animate the amplitude bar
while true do
local amplitude = math.clamp(sound.PlaybackLoudness / maxLoudness, 0, 1)
bar.Size = UDim2.new(amplitude, 0, 1, 0)
wait(0.05)
end

PlaybackRegion

Lecture parallèle

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

Lecture parallèle

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

Non répliqué
Lecture parallèle

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

Sound PlaybackSpeed

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

Non répliqué
Lecture parallèle

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

Sound Playing

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
print("playing sound")
sound.Playing = true
task.wait(10)
print("stopping sound")
sound.Playing = false
task.wait(5)
sound.Playing = true
local timePosition = sound.TimePosition
print("resumed at time position: " .. tostring(timePosition)) -- c. 10 seconds

RollOffMaxDistance

Lecture parallèle

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

Lecture parallèle

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

Lecture parallèle

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

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

Lecture parallèle

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

SoundGroups

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

ContentId
Lecture parallèle

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

Sound in the Workspace

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()

TimeLength

Lecture uniquement
Non répliqué
Lecture parallèle

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

Play a Sound for a Specific Duration

local function playForDuration(sound, duration)
if not sound.IsLoaded then
sound.Loaded:wait()
end
local speed = sound.TimeLength / duration
sound.PlaybackSpeed = speed
sound:Play()
end
local sound = script.Parent
playForDuration(sound, 5)

TimePosition

Non répliqué
Lecture parallèle

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

Sound TimePosition

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Parent = workspace
sound.TimePosition = 30
sound:Play()
task.wait(5)
sound.TimePosition = 100
task.wait(5)
sound.TimePosition = 0

Volume

Lecture parallèle

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

Sound Volume

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

void

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>
FonctionSon.JouerPosition du son

Retours

void

Échantillons de code

Sound Functions

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

void

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>
FonctionSon.JouerPosition du son

Retours

void

Échantillons de code

Sound Functions

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

void

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>
FonctionSon.JouerPosition du son

Retours

void

Échantillons de code

Sound Functions

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

void

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>
FonctionSon.JouerPosition du son

Retours

void

Échantillons de code

Sound Functions

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

soundId: string

Le Sound.SoundId de la Sound qui s'est répété.

numOfTimesLooped: number

Le nombre de fois que le Sound a bouclé.


Échantillons de code

Loop a Number of Times

local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)

Ended

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

soundId: string

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

soundId: string

Le Sound.SoundId de la Sound chargée.


Échantillons de code

Load Sound

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

soundId: string

Le Sound.SoundId de la Sound qui a été暂停.


Échantillons de code

Sound Functions

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

soundId: string

Le Sound.SoundId de la Sound qui a été jouée.


Échantillons de code

Sound Functions

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

soundId: string

Le Sound.SoundId de la Sound repris.


Échantillons de code

Sound Functions

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

soundId: string

Le Sound.SoundId de la Sound qui s'est arrêté.


Échantillons de code

Sound Functions

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