Sound
*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.
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
Properti ini adalah true ketika Sound telah dimuat dari server Roblox dan siap untuk dimainkan.
Properti hanya baca yang mengembalikan true ketika Sound tidak dimainkan.
Properti hanya baca yang mengembalikan true ketika Sound bermain.
Sebuah rentang yang menunjukkan awal dan akhir loop yang diinginkan dalam PlaybackRegion, dalam beberapa detik.
Mengatur apakah atau tidak Sound berulang setelah selesai bermain.
Ketika true , Sound akan dimainkan saat dihapus dari pengalaman.
Angka di antara 0 dan 1000 menunjukkan seberapa keras Sound saat ini diputar kembali.
Sebuah rentang yang menunjukkan waktu awal dan akhir yang diinginkan dalam TimeLength, dalam detik.
Jika true , properti ini memberi Anda akses Sound ke properti PlaybackRegion dan LoopRegion yang dapat lebih akurat mengontrol pemutarannya.
Menentukan kecepatan di mana Sound akan dimainkan, dengan nilai yang lebih tinggi menyebabkan suara diputar lebih cepat dan pada nada yang lebih tinggi.
Menunjukkan apakah Sound saat ini sedang dimainkan.
Jarak maksimum, dalam stud, pendengar klien dapat berasal dari asal suara dan masih mendengarnya.Hanya berlaku untuk Sounds orang tua ke BasePart atau Attachment .
Jarak minimum, dalam stud, di mana Sound yang diberikan kepada seorang BasePart atau Attachment akan mulai berkurang (penurunan volume).
Mengontrol bagaimana volume dari Sound yang diberikan kepada orang tua ke BasePart atau Attachment mereda (memudar) sebagai jarak antara pendengar dan orang tua berubah.
The SoundGroup yang terhubung ke ini Sound .
ID konten dari file suara untuk diasosiasikan dengan Sound .
Panjang dari Sound dalam detik.
Kemajuan dari Sound dalam beberapa detik. Dapat diubah untuk memindahkan posisi pemutaran dari Sound baik sebelum dan selama pemutaran.
Volume dari Sound .
Metode
Properti
ChannelCount
IsLoaded
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.
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
IsPaused
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.
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
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.
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
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
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.
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
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
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.
-- 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
Sebuah rentang yang menunjukkan waktu awal dan akhir yang diinginkan dalam TimeLength, dalam detik.
Jika PlaybackRegion.Min``>``0 , suara mulai diputar dari waktu PlaybackRegion.Min .
Jika PlaybackRegion.Min``<``0 , suara mulai diputar dari 0 .
Jika PlaybackRegion.Max``>``Class.Sound.TimeLength , suara berhenti di Sound.TimeLength .
Jika , suara berhenti di tepat waktu itu.
Jika Class.Sound.PlaybackRegion|PlaybackRegion.Min``==``Class.Sound.PlaybackRegion|PlaybackRegion.Max , properti ini tidak aktif.
PlaybackRegionsEnabled
Jika true , properti ini memberi Anda akses Sound ke properti PlaybackRegion dan LoopRegion yang dapat lebih akurat mengontrol pemutarannya.
PlaybackSpeed
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.
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
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.
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
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
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
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 .
SoundId
Properti ini adalah ID konten file suara untuk diasosiasikan dengan Sound . Lihat Aset Audio untuk informasi lebih lanjut.
TimeLength
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.
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
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.5if newPosition >= sound.TimeLength thennewPosition = newPosition - sound.TimeLengthendsound.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).
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
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.
-- 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.
-- 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.
-- 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.
-- 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
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.
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
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
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.
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
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.
-- 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
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.
-- 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
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.
-- 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
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.
-- 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