Sound

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Sound adalah objek yang memancarkan suara.Ketika ditempatkan di dalam BasePart atau Attachment , objek ini akan memancarkan suaranya dari bagian itu BasePart.Position atau lampiran Attachment.WorldPosition .Dalam penempatan ini, sebuah Sound menampilkan efek Doppler, yang berarti frekuensi dan nada berbeda dengan gerakan relatif dari lampiran atau bagian mana pun yang terpasang kepadanya.Selain itu, volume-nya akan ditentukan oleh jarak antara pendengar suara klien (默认值 adalah posisi Camera ) dan posisi orang tua suara.Untuk informasi lebih lanjut, lihat RollOffMode .

Suara dianggap "global" jika tidak diberikan kepada seorang BasePart atau Attachment .Dalam kasus ini, suara akan diputar dengan volume yang sama di seluruh tempat.

Contoh Kode

Kode dalam contoh ini menunjukkan bagaimana orang tua suara ke Part atau Attachment akan dimainkan secara lokal dan mengalami penurunan volume semakin jauh kamera pemain dari bagian.

Suku cadang diinstansi, dan suara diinstansi dan diberikan ke bagian.Detektor klik dibuat pada bagian yang akan memeriksa apakah suara diputar, menggunakan Sound.IsPlaying dan memainkan atau menghentikan suara tergantung.

Bagian Musik Bermain

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
-- buat suara
local sound = Instance.new("Sound", part)
sound.SoundId = "rbxassetid://9120386436"
sound.EmitterSize = 5 -- kurangi ukuran emitor (untuk penurunan volume sebelumnya)
sound.Looped = true
sound.Parent = part
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
-- aktifkan suara bermain/tidak bermain
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)

Rangkuman

Properti

Metode

Acara

Properti

ChannelCount

Hanya Baca
Tidak Direplikasi
Tidak Dapat Dijelajahi
Keamanan Skrip Roblox
Baca Paralel

IsLoaded

Hanya Baca
Tidak Direplikasi
Baca Paralel

Properti ini adalah true ketika Sound telah dimuat dari server Roblox dan siap untuk dimainkan.Anda dapat menggunakan properti ini dan acara Loaded untuk memverifikasi bahwa suara telah dimuat sebelum dimainkan.

Contoh Kode

This simple function will verify a Sound has loaded by checking the Sound.IsLoaded property. If Sound.IsLoaded is false it will wait for the Loaded event before resuming.

It is important to check Sound.IsLoaded before connecting to the Sound.Loaded event, as if the sound has already loaded the Sound.Loaded event will not fire and the function will yield indefinitely.

Load Sound

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

IsPaused

Tersembunyi
Hanya Baca
Tidak Direplikasi
Baca Paralel

Properti baca hanya ini mengembalikan true ketika Sound tidak bermain.Perhatikan bahwa itu dapat kembali true jika suara telah dijeda menggunakan Pause() , jika telah dihentikan menggunakan Stop() , atau suara tidak pernah diputar.

Sebagai IsPaused dibaca hanya baca, tidak dapat digunakan untuk menghentikan suara; Stop() atau Pause() harus digunakan sebagai gantinya.

Contoh Kode

This code sample contains demonstrates when the Sound.IsPlaying and Sound.IsPaused properties will be true or false.

A sound is instanced in the Workspace and the Sound.IsLoaded property is checked to ensure it has loaded, if it has not the Sound.Loaded event is used to yield the script until the sound has.

As the sound is played, paused and stopped the Sound.IsPlaying and Sound.IsPaused properties are printed to demonstrate how they respond to each of these functions. Note Sound.IsPaused will always be true if even if the sound has been stopped rather than paused.

Sound IsPlaying and SoundIsPaused

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

IsPlaying

Tersembunyi
Hanya Baca
Tidak Direplikasi
Baca Paralel

Properti baca hanya ini kembali benar ketika Sound bermain.

Karena IsPlaying dibaca hanya baca, tidak dapat digunakan untuk memutar suara; Play() harus digunakan sebagai gantinya.

Contoh Kode

This code sample contains demonstrates when the Sound.IsPlaying and Sound.IsPaused properties will be true or false.

A sound is instanced in the Workspace and the Sound.IsLoaded property is checked to ensure it has loaded, if it has not the Sound.Loaded event is used to yield the script until the sound has.

As the sound is played, paused and stopped the Sound.IsPlaying and Sound.IsPaused properties are printed to demonstrate how they respond to each of these functions. Note Sound.IsPaused will always be true if even if the sound has been stopped rather than paused.

Sound IsPlaying and SoundIsPaused

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

LoopRegion

Baca Paralel

Sebuah rentang yang menunjukkan awal dan akhir loop yang diinginkan dalam PlaybackRegion, dalam beberapa detik.

  • Jika Class.Sound.LoopRegion|LoopRegion.Min``>``Class.Sound.PlaybackRegion|PlaybackRegion.Min , loop dimulai dari LoopRegion.Min .

  • Jika Class.Sound.LoopRegion|LoopRegion.Min``<``Class.Sound.PlaybackRegion|PlaybackRegion.Min , loop dimulai dari PlaybackRegion.Min .

  • Jika Class.Sound.LoopRegion|LoopRegion.Max``>``Class.Sound.PlaybackRegion|PlaybackRegion.Max , loop dimulai pada PlaybackRegion.Max .

  • Jika Class.Sound.LoopRegion|LoopRegion.Max``<``Class.Sound.PlaybackRegion|PlaybackRegion.Max , loop dimulai pada tepatnya saat itu.

  • Jika Class.Sound.LoopRegion|LoopRegion.Min``==``Class.Sound.LoopRegion|LoopRegion.Max , Sound menggunakan properti PlaybackRegion sebagai gantinya.

Looped

Baca Paralel

Ini menentukan apakah atau tidak Sound berulang setelah selesai bermain.Suara berulang cocok untuk berbagai aplikasi termasuk musik dan suara ambient latar belakang.

Peristiwa DidLoop dapat digunakan untuk melacak jumlah kali sebagai suara telah dilingkar.

Contoh Kode

This code sample includes a function that will play a sound and allow it to loop for a given number of times before stopping it.

Loop a Number of Times

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

PlayOnRemove

Baca Paralel

Ketika true , Sound akan dimainkan saat dihapus dari pengalaman dengan membesarkan Sound atau satu jika leluhurnya ke nil .Ini berarti semua yang berikut akan menyebabkan suara diputar saat PlayOnRemove adalah true :

  • sound:Destroy()
  • sound.Parent = nil
  • sound.Parent.Parent = nil

PlaybackLoudness

Hanya Baca
Tidak Direplikasi
Baca Paralel

Angka di antara 0 dan 1000 menunjukkan seberapa keras Sound saat ini diputar kembali.Properti ini mencerminkan amplitud pemutaran suara dalam instans waktu yang dilihat.

Contoh Kode

In this sample Sound.PlaybackLoudness is used to create an amplitude bar that shows the amplitude of a sound playing.

This code sample should be placed in StarterPlayerScripts.

A simple GUI is created, a frame holding that bar and a frame containing the bar. A Sound is then played and the size of the bar is set to reflect the Sound.PlaybackLoudness on a loop.

Volume Amplitude Bar

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

PlaybackRegion

Baca Paralel

Sebuah rentang yang menunjukkan waktu awal dan akhir yang diinginkan dalam TimeLength, dalam detik.

PlaybackRegionsEnabled

Baca Paralel

Jika true , properti ini memberi Anda akses Sound ke properti PlaybackRegion dan LoopRegion yang dapat lebih akurat mengontrol pemutarannya.

PlaybackSpeed

Tidak Direplikasi
Baca Paralel

Menentukan kecepatan di mana Sound akan dimainkan, dengan nilai yang lebih tinggi menyebabkan suara diputar lebih cepat dan pada nada yang lebih tinggi.

Contoh Kode

Dalam contoh ini, Suara diputar di Workspace.Properti PlaybackSpeed meningkat dan berkurang pada interval untuk menunjukkan dampaknya terhadap pemutaran Suara.

Kecepatan Putar Suara

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
task.wait(10)
sound.PlaybackSpeed = 3 -- 3x lebih cepat
task.wait(5)
sound.PlaybackSpeed = 0.5 -- 2x lebih lambat
task.wait(5)
sound.PlaybackSpeed = 1 -- default

Playing

Tidak Direplikasi
Baca Paralel

Menunjukkan apakah Sound saat ini sedang dimainkan. Ini dapat diaktifkan ulang, dan properti ini akan selalu direplikasi.

Di jendela Properti Studio, saat berada dalam mode Edit , menyalakan Playing ke true tidak mulai memutar suara, tetapi suara akan mulai diputar selama runtime.

Properti ini tidak boleh dikacaukan dengan IsPlaying yang merupakan properti hanya dibaca.

Perhatikan bahwa ketika Playing diatur ke false , properti TimePosition dari suara tidak akan reset, yang berarti bahwa ketika Playing diatur ke true lagi, audio akan terus dari posisi waktu ketika dihentikan.Namun, jika fungsi Play() digunakan untuk melanjutkan suara, posisi waktu akan diatur ulang ke 0 .

Contoh Kode

This sample demonstrates how the Sound.Playing property can be used to start and stop playback of a sound.

A sound is instanced in the Workspace and playback is started by setting Sound.Playing to true. After ten seconds the playback is stopped by setting Sound.Playing to false. When the playback is again resumed using Sound.Playing it resumes at the previous Sound.TimePosition it was stopped at. This is demonstrated by printing the TimePosition property immediately after resuming the sound.

Sound Playing

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

RollOffMaxDistance

Baca Paralel

Jarak maksimum, dalam stud, pendengar klien dapat berasal dari asal suara dan masih mendengarnya.Hanya berlaku untuk Sounds orang tua ke BasePart atau Attachment .

Bagaimana RollOffMaxDistance pengaruh pengurangan suara (cara di mana ia memudar) tergantung pada properti RollOffMode.

RollOffMinDistance

Baca Paralel

Jarak minimum, dalam stud, di mana Sound yang diberikan kepada seorang BasePart atau Attachment akan mulai berkurang (penurunan volume).

Bagaimana RollOffMinDistance pengaruh pengurangan suara (cara di mana ia memudar) tergantung pada properti RollOffMode.

RollOffMode

Baca Paralel

Properti ini mengontrol bagaimana volume dari Sound yang diberikan kepada seorang BasePart atau Attachment mereda (memudar) sebagai jarak antara pendengar dan orang tua berubah.

Untuk rincian tentang mode yang berbeda, lihat Enum.RollOffMode .

SoundGroup

Baca Paralel

The SoundGroup yang terhubung ke ini Sound .

SoundId

ContentId
Baca Paralel

Properti ini adalah ID konten file suara untuk diasosiasikan dengan Sound . Lihat Aset Audio untuk informasi lebih lanjut.

TimeLength

Hanya Baca
Tidak Direplikasi
Baca Paralel

Panjang dari Sound dalam detik. Jika Sound tidak dimuat, nilai ini akan menjadi 0 .

Properti ini sering digunakan bersama dengan PlaybackSpeed untuk menyesuaikan kecepatan suara sehingga berlangsung selama durasi tertentu.

Contoh Kode

This code sample includes a simple function that uses Sound.TimeLength and Sound.PlaybackSpeed to play a sound that'll take the given duration to complete. It achieves this by setting the PlaybackSpeed of the sound to be equal to the TimeLength of the sound divided by the desired duration.

Note that as TimeLength is equal to 0 when the sound has not loaded, the function will yield while it loads the sound.

Play a Sound for a Specific Duration

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

TimePosition

Tidak Direplikasi
Baca Paralel

Properti ini mencerminkan kemajuan Sound dalam beberapa detik.Ini dapat diubah untuk memindahkan posisi pemutaran suara sebelum dan selama pemutaran.

Saat dimainkan sebagai Sound , TimePosition meningkat dengan kecepatan PlaybackSpeed per detik.Setelah TimePosition mencapai TimeLength , suara akan berhenti kecuali jika itu Looped .

Perhatikan bahwa mengatur TimePosition ke nilai lebih besar dari panjang di trek berulang tidak akan menyebabkan bungkuk.Jika perilaku itu diinginkan, pertimbangkan kode potongan berikut:


local newPosition = 1.5
if newPosition >= sound.TimeLength then
newPosition = newPosition - sound.TimeLength
end
sound.TimePosition = newPosition

Contoh Kode

This sample demonstrates how Sound.TimePosition can be used to jump to particular points in an audio file both before and during Sound playback.

A Sound is created in the Workspace and set to start at 30 seconds in. During playback, it jumps forwards to 100 seconds and then back to the start (0 seconds).

Sound TimePosition

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

Volume

Baca Paralel

Volume dari Sound . Dapat ditetapkan antara 0 dan 10 dan default ke 0.5 .

Perhatikan bahwa jika Sound adalah anggota dari SoundGroup , volume pemutarannya (tetapi bukan properti Volume nya) akan dipengaruhi oleh properti grupSoundGroup.Volume.

Metode

Pause

()

Metode ini menghentikan pemutaran dari Sound jika sedang bermain, mengatur Playing ke false .Tidak seperti Stop() , ia tidak mengatur ulang TimePosition , artinya suara dapat dilanjutkan menggunakan Resume() .


Memberikan nilai

()

Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0

Play

()

Metode ini memainkan Sound dan mengatur TimePosition ke nilai terakhir yang ditetapkan oleh skrip (atau 0 jika belum ditetapkan), lalu mengatur Playing ke true.


Memberikan nilai

()

Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0

Resume

()

Metode ini melanjutkan Sound dan menetapkan Playing ke true.Tidak mengubah TimePosition dan dengan demikian dapat digunakan untuk melanjutkan pemutaran suara yang dijeda melalui Pause() .


Memberikan nilai

()

Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0

Stop

()

Metode ini menghentikan Sound dan menetapkan Playing ke false , kemudian menetapkan TimePosition ke 0 .


Memberikan nilai

()

Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0

Acara

DidLoop

Memicu kebakaran setiap kali loop Sound terulang.Kembalikan soundId dan numOfTimesLooped , memberikan ID konten suara dan jumlah kali diulang masing-masing.

Ketika Sound dihentikan melalui Stop() , hitungan berulang direset berarti acara berikutnya DidLoop akan kembali 1 untuk numOfTimesLooped.

Parameter

soundId: string

The SoundId dari Sound yang terulang.

numOfTimesLooped: number

Jumlah kali Sound terulang.


Contoh Kode

This code sample includes a function that will play a sound and allow it to loop for a given number of times before stopping it.

Loop a Number of Times

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

Ended

Melepaskan api saat Sound telah menyelesaikan pemutaran dan berhenti. Acara ini sering digunakan untuk menghancurkan suara saat telah menyelesaikan pemutaran:


sound:Play()
sound.Ended:Wait()
sound:Destroy()

Perhatikan bahwa acara ini tidak akan tidak menembak untuk suara dengan Looped diatur ke true , saat mereka terus bermain saat mencapai akhirimereka.Acara ini juga tidak terbakar saat suara dihentikan sebelum pemutaran selesai; untuk ini gunakan acara Stopped .

Parameter

soundId: string

The SoundId dari Sound yang telah berakhir.


Loaded

Melepaskan api saat Sound dimuat.

Karena acara ini hanya menembak saat suara dimuat, disarankan untuk memeriksa properti suara IsLoaded sebelum terhubung ke acara ini.

Parameter

soundId: string

The SoundId dari Sound yang dimuat.


Contoh Kode

This simple function will verify a Sound has loaded by checking the Sound.IsLoaded property. If Sound.IsLoaded is false it will wait for the Loaded event before resuming.

It is important to check Sound.IsLoaded before connecting to the Sound.Loaded event, as if the sound has already loaded the Sound.Loaded event will not fire and the function will yield indefinitely.

Load Sound

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

Paused

Memicu kebakaran setiap kali Sound dijeda menggunakan Pause() .

Parameter

soundId: string

The SoundId dari Sound yang ditunda.


Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0

Played

Memicu kebakaran setiap kali Sound dimainkan menggunakan Play() .Acara ini tidak akan tidak terbakar jika Sound dimainkan karena PlayOnRemove ditetapkan ke true dan suara hancur.

Parameter

soundId: string

The SoundId dari Sound yang dimainkan.


Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0

Resumed

Memicu ketika Sound diambil kembali menggunakan Resume() .

Parameter

soundId: string

The SoundId dari Sound yang ditinggalkan kembali.


Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0

Stopped

Melepaskan api saat Sound dihentikan dengan menggunakan Stop() . Menghancurkan suara saat diputar tidak akan menyebabkan peristiwa ini terbakar.

Parameter

soundId: string

The SoundId dari Sound yang berhenti.


Contoh Kode

Sampel ini memberikan demonstrasi sederhana tentang apa yang dilakukan masing-masing fungsi Suara (Sound.Play, Sound.Stop, Sound.Pause, dan Sound.Resume) terhadap Sound.Playing dan Sound.TimePosition.

Fungsi Suara

-- buat suara
local sound = Instance.new("Sound", game.Workspace)
sound.SoundId = "rbxassetid://9120386436"
if not sound.IsLoaded then
sound.Loaded:Wait()
end
-- dengarkan peristiwa
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) -- bermain nyata 0
task.wait(10)
sound:Pause()
print("pause", sound.Playing, sound.TimePosition) -- jeda salah 10
task.wait(3)
sound:Resume()
print("play", sound.Playing, sound.TimePosition) -- bermain nyata 10
task.wait(3)
sound:Stop()
print("stop", sound.Playing, sound.TimePosition) -- hentikan false 0
task.wait(3)
sound:Play()
print("play", sound.Playing, sound.TimePosition) -- play true 0