Sound
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một Sound là một thiết bị phát âm.
Âm thanh 2D và 3D
Một âm thanh được đặt trong một BasePart hoặc một
Một âm thanh được xem là "toàn cầu" nếu nó không được kết nối với một BasePart hoặc một Attachment . Trong trường hợp này, âm thanh sẽ được phát ở mức âm thanh tương tự trên toàn bộ địa điểm.
Mẫu mã
local part = Instance.new("Part")
part.Anchored = true
part.Position = Vector3.new(0, 3, 0)
part.BrickColor = BrickColor.new("Bright red")
part.Name = "MusicBox"
part.Parent = workspace
-- create a sound
local sound = Instance.new("Sound", part)
sound.SoundId = "rbxassetid://9120386436"
sound.EmitterSize = 5 -- decrease the emitter size (for earlier volume drop off)
sound.Looped = true
sound.Parent = part
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
-- toggle the sound playing / not playing
clickDetector.MouseClick:Connect(function()
if not sound.IsPlaying then
part.BrickColor = BrickColor.new("Bright green")
sound:Play()
else
part.BrickColor = BrickColor.new("Bright red")
sound:Stop()
end
end)
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
Tóm Tắt
Thuộc Tính
Điều này sẽ đúng khi Sound đã tải từ máy chủ Roblox và sẵn sàng để chơi.
Đặt tính này chỉ được trả về khi Sound không đang chơi.
Đặt tính này chỉ đọc sẽ trả về true khi Sound đang chơi.
Một loạt đề cập đến một đầu vào và đầu ra ước muốn trong Sound.PlaybackRegion , trong giây lát.
Điều này đặt ra liệu Sound sẽ lặp lại một lần nữa khi nó đã kết thúc khi nó đang chơi.
Khi đúng, Sound sẽ chơi khi nó được loại bỏ khỏi trò chơi, bằng cách thừa hưởng Class.Sound hoặc một trong những tiền nhân của nó để nil.
Một số từ 0 đến 1000 cho thấy độ toàn vẹn của Sound đang chơi quay lại.
Một loạt đề cập đến thời gian xuất phát (min) và dừng (max) trong Sound.TimeLength , trong giây.
Nếu true , thuộc tính này cho phép bạn Sound truy cập vào các thuộc tính Sound.PlaybackRegion và 2> Class.Sound.LoopRegion2>, có thể kiểm soát chính xác hơn phát lại của nó.
Xác định tốc độ mà một Sound sẽ chơi, với giá trị càng cao khiến âm thanh chơi nhanh hơn và ở độ cao hơn.
Chỉ ra whether the Sound đang chơi.
Khoảng cách tối đa, bằng studs, của người nghe khách của một client có thể từ nguồn Sound\s và vẫn nghe thấy nó. Chỉ áp dụng cho các âm thanh có liên quan đến một Part hoặc Attachment (âm thanh 3D).
Khoảng cách tối thiểu, bằng studs, tại đó một 3D Sound (con cái trực tiếp của một BasePart hoặc Attachment ) sẽ bắt đầu giảm (giảm trong volume) .
Điều khiển cách âm lượng của một Sound (có phụ hợp với một BasePart hoặc Attachment ) hành xử như khoảng cách giữa người nghe và phụ huynh của âm thanh thay đổi.
Nhóm âm thanh liên kết với SoundGroup này. Volume và Effect âm thanh được áp dụng cho nhóm âm thanh này sẽ được áp dụng cho âm thanh. Một âm thanh chỉ có thể ở trong một nhóm âm thanh tại một thời điểm.
Đây là ID nội dung của tập tin âm thanh mà một Sound đối tượng được liên kết với. Khi một âm thanh đã được tải lên Roblox, ID nội dung có thể được tìm thấy trong URL của tập tin âm thanh đã tải lên.
Độ dài của Sound trong giây. Nếu Sound không được tải, giá trị này sẽ là 0.
Hiển thị tiến độ trong vài giây của Sound . Có thể được thay đổi để di chuyển vị trí phát lại của Sound trước và trong lúc phát lại.
Âm lượng của Sound . Có thể được đặt giữa 0 và 10. Mặc định là 0.5.
Phương Pháp
Đặt Sound.Playing để false. Điều này tạm dừng việc phát lại của Sound nếu âm thanh đang chơi. Khi Sound.TimePosition không được đặt lại, khi 1> Class.Sound1> bắt đầu lại
Chơi Sound . Đặt Sound.TimePosition đến giá trị cuối cùng được thiết lập bởi một Script (hoặc 0 nếu nó chưa được thiết cài đặt), và sau đó đặt 1> Class.Sound.Playing để true.
Tổng kết Sound . Đặt Sound.Playing để true. Không thay đổi Sound.TimePosition và do đó có thể được sử dụng để khởi động lại quá trình phát của một âm thanh bị dừng bằng cách sử dụng 1> Class.Sound:Pause
Dừng lại Sound . Đặt Sound.Playing để giả vờ thành false sau đó đặt Sound.TimePosition để 0.
Sự Kiện
Sự kiện này bắt đầu mỗi khi Sound lặp lại. Tạo ra soundId và numOfTimesLooped, cho phép nội dung ID của âm thanh và số lần lặp lại lần lượt là âm thanh và số lần lặp lại.
Lửa khi Sound đã hoàn thành phát lại và dừng lại.
Lửa khi Sound được tải.
Làm nổ khi Sound được tạm dừng bằng cách sử dụng Sound:Pause() .
Lửa mọi lúc mọi nơi khi sử dụng hành động Sound bằng cách sử dụng chức năng Sound:Play().
Lửa khi Sound được phục hồi bằng cách sử dụng Sound:Resume() .
Lửa khi Sound được ngừng bởi hành động Sound:Stop() .
Thuộc Tính
ChannelCount
IsLoaded
Điều này sẽ đúng khi Sound đã tải từ máy chủ Roblox và sẵn sàng để chơi.
Trong Roblox, tập tin âm thanh không được lưu trong các trò chơi chính mà được lưu trên các máy chủ Roblox và được xếp hạng bởi thuộc tính Sound.SoundId . Điều này có nghĩa là chúng cần phải được tải đến
Các nhà phát triển có thể sử dụng Sound.IsLoaded thuộc tính và sự kiện Sound.Loaded nếu họ muốn xác nhận rằng một âm thanh đã được tải trước khi chơi nó.
Mẫu mã
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
IsPaused
Đọc thô này sẽ trả về true khi Sound không đang chơi. Lưu ý rằng thuộc tính này sẽ không chỉ trả về true một lần khi một âm thanh đã được tạm dừng bằng cách sử dụng hành động Sound:Pause() nhưng cũng như nếu
Điều này chỉ đúng khi Sound.IsPlaying là sai.
Khi đã tạm dừng, nó chỉ có thể được đọc để ngừng phát âm thanh, Sound:Stop() và Sound:Pause() nên được sử dụng thay vào đó.
Mẫu mã
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
Đặt tính này chỉ đọc sẽ trả về true khi Sound đang chơi.
Điều này chỉ có thể xảy ra khi Sound.IsPaused là sai.
Vì IsPlaying chỉ đọc, nó không thể được sử dụng để chơi âm thanh, Sound:Play() nên được sử dụng thay vào đó.
Mẫu mã
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
Một loạt đề cập đến một đầu vào và đầu ra ước mong trong Sound.PlaybackRegion của âm thanh trong giây lát.
Nếu LoopRegion.Min > PlaybackRegion.Min , thì vòng lặp bắt đầu từ LoopRegion.Min .
Nếu LoopRegion.Min < PlaybackRegion.Min , hành trình bắt đầu từ PlaybackRegion.Min .
Nếu LoopRegion.Max > PlaybackRegion.Max , hành trình bắt đầu tại PlaybackRegion.Max .
Nếu LoopRegion.Max < PlaybackRegion.Max , hành trình bắt đầu tại chính xác vào thời điểm đó.
Nếu LoopRegion.Min ≥ LoopRegion.Max, LoopRegion.Max sử dụng thuộc tính Sound thay vào đó.
Looped
Điều này đặt ra liệu Sound sẽ lặp lại một lần nữa khi nó đã kết thúc khi nó đang chơi.
Các âm thanh lặp lại thích hợp cho một loạt các ứng dụng, bao gồm âm thanh và môi trường âm thanh nền. Sự kiện Sound.DidLoop có thể được sử dụng để theo dõi số lần mà âm thanh đã lặp lại.
Mẫu mã
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local function onCharacterAdded(character)
-- wait for the head to be added
local head = character:WaitForChild("Head")
local sound = Instance.new("Sound")
sound.Name = "TestSound"
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = head
sound.Looped = true
sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print("oof! " .. tostring(numOfTimesLooped))
end)
sound:Play()
end
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
local function loopNTimes(sound, numberOfLoops)
if not sound.IsPlaying then
sound.Looped = true
local connection = nil
connection = sound.DidLoop:Connect(function(_soundId, numOfTimesLooped)
print(numOfTimesLooped)
if numOfTimesLooped >= numberOfLoops then
-- disconnect the connection
connection:Disconnect()
-- stop the sound
sound:Stop()
end
end)
sound:Play()
end
end
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://0"
loopNTimes(sound, 5)
PlayOnRemove
Khi đúng, Sound sẽ chơi khi nó được loại bỏ khỏi trò chơi.
Ghi chú âm thanh sẽ được phát khi Instance.Parent thuộc tính của Sound hoặc một trong những tiền nhân của nó được đặt để nil. Điều này có nghĩa là tất cả các điều sau đây sẽ khiến âm than
âm thanh:Destroy() âm thanh.Parent = nil âm thanh.Parent = nil
Mẫu mã
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
Một số từ 0 đến 1000 cho thấy độ toàn vẹn của Sound đang chơi quay lại.
Đặc tính này phản ánh âm thanh được phát lại trong trường hợp thời gian đã xemnó. Do đó, cho hầu hết các âm thanh nó sẽ dao động liên tục. Do đó, nó có thể xuất hiện trong các cửa sổ tính năng Roblox Studio như 0, nhưng khi đọc bởi mã trong d
Mẫu mã
-- 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
Một loạt đề cập đến thời gian xuất phát (min) và dừng (max) trong Sound.TimeLength , trong giây.
Nếu PlaybackRegion.Min > 0, âm thanh bắt đầu được phát từ thời gian PlaybackRegion.Min.
Nếu PlaybackRegion.Min < 0, âm thanh bắt đầu được phát từ 0.
Nếu PlaybackRegion.Max > Sound.TimeLength , âm thanh dừng lại ở Sound.TimeLength .
Nếu PlaybackRegion.Max < Sound.TimeLength , âm thanh dừng lại ở chính xác đó là thời gian.
Nếu PlaybackRegion.Min == PlaybackRegion.Max, PlayBackRegion đã tạm thời không hoạt động.
PlaybackRegionsEnabled
Nếu true , thuộc tính này cho phép bạn Sound truy cập vào các thuộc tính Sound.PlaybackRegion và 2> Class.Sound.LoopRegion2>, có thể kiểm soát chính xác hơn phát lại của nó.
PlaybackSpeed
Xác định tốc độ mà một Sound sẽ chơi. The greater the value, the faster the sound will play quay lại.
Ví dụ, một giá trị 2 sẽ khiến Sound chơi nhanh hơn 2x, trong khi một giá trị 0,5 sẽ khiến nó chơi nhanh hơn 2x. Khi PlaybackSpeed bằng 1, âm thanh sẽ mất Sound.TimeLength (trong giây) để hoàn thành.
Lưu ý rằng tăng PlaybackSpeed của một âm thanh sẽ khiến nó chơi ở một tần số cao hơn.
Mẫu mã
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
Chỉ ra whether the Sound is currently playing. This can be toggled, and this property will always replicate.
Trong editor studio, Sounds không được chơi vì thời gian đã dừng. Cài đặt Sound.Playing để true trong chế độ chỉnh sửa không làm gì được. Tuy nhiên, bạn có thể chơi âm thanh từ bên
Điều này không nên được nhầm lẫn với Sound.IsPlaying , một điều răn đọc chỉ. Playing có thể được đặt thành true hoặc false để bắt đầu hoặc dừng lại phát hành của một âm thanh.
Lưu ý rằng khi Play được đặt về giả mạo, thì Sound.TimePosition thuộc tính âm thanh của âm thanh sẽ không được đặt trả về mặc định. Điều này có nghĩa là khi Play được đặt về true một lần nữa thì âm thanh sẽ tiếp t
Mẫu mã
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
Khoảng cách tối đa, bằng studs, của người lắng nghe của một client có thể từ nguồn Sound và vẫn nghe thấy nó. Chỉ áp dụng cho các âm thanh có liên quan đến một Part hoặc Attachment (âm thanh 3D).
Cách RollOffMaxDistance ảnh hưởng đến việc tắt mất một âm thanh (cách mà nó biến mất) là do thuộc tính Sound.RollOffMode. Khi RollOffMode được cài đặt để sử dụng
Khi RollOffMode được cài đặt vào một mô hình khoảng cách hình chữ nhật (Linear hoặc LinearSquared) thì âm thanh sẽ giảm dần giữa Sound.EmitterSize và MaxDistance (với khối lượng phát lại đạt đến zero ở MaxDistance). Điều này ít thực tế hơn, nhưng trong m
RollOffMinDistance
Khoảng cách tối thiểu, bằng studs, tại đó một 3D Sound (con cái trực tiếp của một BasePart hoặc Attachment ) sẽ bắt đầu giảm (giảm trong volume) .
Các âm thanh được gắn với một BasePart hoặc Attachment mà là con cháu của Workspace được xem n
Cách Sound attenuates (fades out) sau khi khoảng cách giữa người nghe và âm thanh vượt quá giới hạn cuộn dưới là do RollOffMinDistance xác định.
RollOffMode
Đặt tính này cho phép 3D Sounds attenuate (fade out) khi khoảng cách giữa người nghe và cha mẹ của âm thanh tăng lên. Nó có thể được đặt vào một trong những giá trị của Enum.RollOffMode enum.
Mã sau đây sẽ thiết lập RollOffMode thành Linear:
sound.RollOffMode = Enum.RollOffMode.Linear
Các chế độ khác nhau
Các lựa chọn sau đây đã sẵn sàng:
<tbody><tr><td>Ngược</td><td>Âm lượng giảm từ <code>Sound/RollOffMinDistance</code> theo cách ngược lại.</td></tr><tr><td>InverseTapered</td><td>Một mô hình hibrid. Theo mô hình Ngược khi gần <code>RollOffMinDistance</code> và mô hình Hộp chéo Linear Square khi gần <code>Sound/RollOffMaxDistance</code>.</td></tr><tr><td>Trực tuyến</td><td>Âm lượng giảm giữa <code>RollOffMinDistance</code> và <code>Sound/RollOffMaxDistance</code> với một mối quan hệ line.</td></tr><tr><td>Hành lang vuông</td><td>Âm lượng giảm giữa <code>RollOffMinDistance</code> và <code>Sound/RollOffMaxDistance</code> với một mối quan hệ linearity hình chữ nhật.</td></tr></tbody>
Chế độ | Mô tả |
---|
Giảm dịch chuyển ngược vs đường thẳng
Bởi mặc định các âm thanh được đặt để sử dụng độ giảm giá ngược (Enum.RollOffMode.Inverse) mà bộ đếm âm thanh trong thế giới thực sẽ bắt đầu giảm giá khi kho
RollOffMaxDistance sẽ không ảnh hưởng đến việc hạch chế khi được mô tả ngược lại nhưng sẽ khiến âm thanh dừng hoàn toàn khi đạt được khoảng cách này. Điều này có thể đặc biệt gây ra khi sử dụng giá trị thấp cho khoảng cách tối đa.
Khoảng cách dòng thẳng làm việc theo cách khác. Dưới khoảng cách dòng thẳng làm việc, âm thanh sẽ giảm dần từ RollOffMinDistance đến RollOffMaxDistance, giảm tĩnh một lần khi MaxDistance đạ
SoundGroup
Nhóm âm thanh liên kết với SoundGroup này. Sound và SoundGroup.Volume được áp dụng cho nhóm âm thanh này sẽ được lưu vào âm thanh. Một âm thanh chỉ có thể ở trong một nhóm âm thanh tại một thời điểm
SoundGroups được sử dụng để quản lý âm lượng và hiệu ứng của nhiều Sounds ở một thời điểm. Một Sound được thêm vào một 0> Class.SoundGroup0> bằng cách cài đặt thuộc t
Mẫu mã
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
Đây là ID nội dung của tập tin âm thanh mà một Sound đối tượng được liên kết với. Khi một âm thanh đã được tải lên Roblox, ID nội dung có thể được tìm thấy trong URL của tập tin âm thanh đã tải lên.
Quan trọng là nhớ URL không giống với ID nội dung. Nó sẽ hoạt động khi được dán trực tiếp vào SoundId thuộc tính Sound trong Roblox studio, vì Studio sẽ tự động sửa chữa nó, tuy nhiên, nếu được thiết lập từ một <
"https://www.roblox.com/catalog/9120386436" -- Web URL (sẽ không hoạt động)"http://www.roblox.com/asset/?id=9120386436" -- ID nội dung (sẽ hoạt động)"rbxassetid://9120386436" -- Content ID (alternative version, will work)
Mẫu mã
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = workspace
sound:Play()
TimeLength
Độ dài của Sound trong giây. Nếu Sound không được tải, giá trị này sẽ là 0.
Đặ性 này thường được sử dụng kết hợp với Sound.PlaybackSpeed để điều chỉnh tốc độ của một âm thanh để kéo dài trong một thời gian cụ thể (xem ví dụ). Khi Sound.PlaybackSpeed bằng 1, âm thanh sẽ mất một vài giây để hoàn thà
Mẫu mã
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
Hiển thị tiến độ trong vài giây của Sound . Có thể được thay đổi để di chuyển vị trí phát lại của âm thanh. Nếu âm thanh đang chơi thì phát lại sẽ bị kẹp vào vị trí đã định. Nếu nó không chơi âm thanh thì sẽ bắt đầ
Khi một Sound được chơi, TimePosition tăng lên một tỷ lệ Sound.PlaybackSpeed mỗi giây. Khi TimePosition đạt đến Sound.TimeLength , âm thanh sẽ dừng n
Lưu ý rằng đặt TimePosition vào giá trị lớn hơn chiều dài trong một đường đua trò chuyển sẽ không khiến nó bị cuộn vào. Nếu đó là một hành vi được mong muốn, nhà phát triển nên thực hiện những hành động theo dõi.
nếu newPosition >= sound.TimeLength thì newPosition = newPosition - sound.TimeLength end sound.TimePosition = newPosition
Đặt TimePosition thành một giá trị nhỏ hơn zero hiện tại không ảnh hưởng đến chơi, nhưng hành vi này không nên được tin cậy.
Mẫu mã
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
Âm lượng của Class.Sound . Có thể được đặt giữa 0 và 10. Mặc định là 0.5
Lưu ý rằng nếu Sound là một thành viên của một SoundGroup , thì âm lượng phát lại của nó (nhưng không phải là Volume) sẽ bị ảnh
Mẫu mã
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
Phương Pháp
Pause
Đặt Sound.Playing để sai. Điều này tạm dừng phát lại của Sound nếu âm thanh đang chơi. Ngược lại với Sound:Stop() , nó không thiết lập lại
Tác động của các chức năng âm thanh khác nhau trên Sound.Playing và Sound.TimePosition được hiển thị bên dưới.
<tbody><tr><td>Âm thanh:Chơi()</td><td>Có</td><td>Giá trị cuối cùng được thiết lập trong Lua (mặc định 0)</td></tr><tr><td>Âm thanh: Tạm dừng()</td><td>Giả</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Tiếp tục()</td><td>Có</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Stop()</td><td>Giả</td><td>0</td></tr></tbody>
Hàm | Âm thanh.Chơi | Âm thanh.TimePosition |
---|
Lợi Nhuận
Mẫu mã
-- 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
Chơi Sound . Đặt Sound.TimePosition đến giá trị cuối cùng được thiết lập bởi một Script (hoặc 0 nếu nó chưa được thiết cài đặt), và sau đó đặt 1> Class.Sound.Playing để true.
Ảnh hưởng của các chức năng Sound khác nhau đến Sound.Playing và Sound.TimePosition được hiển thị bên dưới.
<tbody><tr><td>Âm thanh:Chơi()</td><td>Có</td><td>Giá trị cuối cùng được thiết lập trong Lua (mặc định 0)</td></tr><tr><td>Âm thanh: Tạm dừng()</td><td>Giả</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Tiếp tục()</td><td>Có</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Stop()</td><td>Giả</td><td>0</td></tr></tbody>
Hàm | Âm thanh.Chơi | Âm thanh.TimePosition |
---|
Lợi Nhuận
Mẫu mã
-- 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
Tổng kết Sound . Đặt Sound.Playing để true. Không thay đổi Sound.TimePosition và do đó có thể được sử dụng để khởi động lại quá trình phát của một âm thanh bị dừng bằng cách sử dụng 1> Class.Sound:Pause
Tác động của các chức năng âm thanh khác nhau trên Sound.Playing và Sound.TimePosition được hiển thị bên dưới.
<tbody><tr><td>Âm thanh:Chơi()</td><td>Có</td><td>Giá trị cuối cùng được thiết lập trong Lua (mặc định 0)</td></tr><tr><td>Âm thanh: Tạm dừng()</td><td>Giả</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Tiếp tục()</td><td>Có</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Stop()</td><td>Giả</td><td>0</td></tr></tbody>
Hàm | Âm thanh.Chơi | Âm thanh.TimePosition |
---|
Lợi Nhuận
Mẫu mã
-- 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
Dừng lại Sound . Đặt Sound.Playing để giả vờ thành false sau đó đặt Sound.TimePosition để 0.
Tác động của các chức năng âm thanh khác nhau trên Sound.Playing và Sound.TimePosition được hiển thị bên dưới.
<tbody><tr><td>Âm thanh:Chơi()</td><td>Có</td><td>Giá trị cuối cùng được thiết lập trong Lua (mặc định 0)</td></tr><tr><td>Âm thanh: Tạm dừng()</td><td>Giả</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Tiếp tục()</td><td>Có</td><td>tiếng việt</td></tr><tr><td>Âm thanh:Stop()</td><td>Giả</td><td>0</td></tr></tbody>
Hàm | Âm thanh.Chơi | Âm thanh.TimePosition |
---|
Lợi Nhuận
Mẫu mã
-- 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
Sự Kiện
DidLoop
Sự kiện này bắt đầu mỗi khi Sound lặp lại. Tạo ra soundId và numOfTimesLooped, cho phép nội dung ID của âm thanh và số lần lặp lại lần lượt là âm thanh và số lần lặp lại.
Khi Sound được ngừng, hệ số nhân bị đổ lỗi có nghĩa là sự kiện DidLoop tiếp theo sẽ trở lại 1 cho numOfTimesLooped.
Tham Số
Mẫu mã
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
Lửa khi Sound đã hoàn thành phát lại và dừng lại. Ghi lại sự kiện này sẽ không bắt lửa cho âm thanh có Sound.Looped được đặt trên true nhưng vẫn đang chơi trên khi kết thúc.
Sự kiện này thường được sử dụng để phá hủy một âm thanh khi nó đã hoàn thành phát lại.
sound:Play()sound.Ended:Wait()sound:Destroy()
Sự kiện này chỉ bắt đầu khi âm thanh đã đạt đến kết thúc của nó. Điều này có nghĩa là nó cũng sẽ không bắt đầu khi âm thanh được dừng trước khi phát lộc xong, cho sử dụng này Sound.Stopped .
Tham Số
Loaded
Sự kiện Sound.Loaded bắt đầu khi Sound được tải.
Ghi nhớ sự kiện này chỉ xảy ra khi âm thanh được tải. Điều này có nghĩa là nếu nó được lắng nghe khi âm thanh đã được tải thì nó sẽ không trở lại. Do đó, để kiểm tra Sound.IsLoaded trước khi kết nối với sự kiểm tra này.
Tham Số
Class.Sound.SoundId của Class.Sound đã được tải.
Mẫu mã
local sound = script.Parent.Sound
if not sound.IsLoaded then
sound.Loaded:Wait()
end
print("The sound has loaded!")
Paused
Làm nổ khi Sound được tạm dừng bằng cách sử dụng Sound:Pause() .
Như với Sound.Played , Sound.Resumed và Sound.Stopped chỉ có chức năng âm thanh tương ứng mới gây ra sự kiện phát hành. Điều này có nghĩa là Pause chỉ phát hành khi 1> Class.Sound:Pause()1> được gọ
Tham Số
Mẫu mã
-- 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
Lửa mọi lúc mọi nơi khi sử dụng hành động Sound bằng cách sử dụng chức năng Sound:Play().
Giống như với Sound.Stopped , Sound.Paused và Sound.Resumed , chỉ có chức năng âm thanh tương ứng mới
Tham Số
Mẫu mã
-- 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
Lửa khi Sound được phục hồi bằng cách sử dụng Sound:Resume() .
Giống như với Sound.Played , Sound.Paused và Sound.Stopped , chỉ có chức năng âm thanh tương ứng mới có thể gây ra sự kiện phát hành. Điều này có nghĩa là Resume chỉ sẽ bắt đầu khi 1> Class.Sound
Tham Số
Của Sound.SoundId của Sound đang bị tạm dừng.
Mẫu mã
-- 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
Lửa khi Sound được ngừng bởi hành động Sound:Stop() .
Như với Sound.Played , Sound.Paused và Sound.Resumed chỉ có chức năng âm thanh tương ứng mới gây ra sự kiện phát hành. Điều này có nghĩa là Stopped sẽ chỉ phát hành khi <
Tham Số
Class.Sound.SoundId của Class.Sound bị dừng.
Mẫu mã
-- 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