Sound

Hiển Thị Bản Đã Lỗi Thời

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

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

Tóm Tắt

Thuộc Tính

  • Chỉ Đọc
    Không Sao Chép
    Không Thể Duyệt
    Bảo Mật Kịch Bản Roblox
    Đọc Song Song
  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Điều này sẽ đúng khi Sound đã tải từ máy chủ Roblox và sẵn sàng để chơi.

  • Ẩn
    Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Đặt tính này chỉ được trả về khi Sound không đang chơi.

  • Ẩn
    Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Đặt tính này chỉ đọc sẽ trả về true khi Sound đang chơi.

  • Đọc Song Song

    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.

  • Đọc Song Song

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

    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.

  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Một số từ 0 đến 1000 cho thấy độ toàn vẹn của Sound đang chơi quay lại.

  • Đọc Song Song

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

  • Không Sao Chép
    Đọc Song Song

    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.

  • Không Sao Chép
    Đọc Song Song

    Chỉ ra whether the Sound đang chơi.

  • Đọc Song Song

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

  • Đọc Song Song

    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.

  • Đọc Song Song

    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.

  • SoundId:ContentId
    Đọc Song Song

    Đâ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.

  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Độ dài của Sound trong giây. Nếu Sound không được tải, giá trị này sẽ là 0.

  • Không Sao Chép
    Đọc Song Song

    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.

  • Đọc Song Song

    Â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

  • Pause():void

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

  • Play():void

    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.

  • Resume():void

    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

  • Stop():void

    Dừng lại Sound . Đặt Sound.Playing để giả vờ thành false sau đó đặt Sound.TimePosition để 0.

Sự Kiện

Thuộc Tính

ChannelCount

Chỉ Đọc
Không Sao Chép
Không Thể Duyệt
Bảo Mật Kịch Bản Roblox
Đọc Song Song

IsLoaded

Chỉ Đọc
Không Sao Chép
Đọc Song Song

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

Load Sound

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

IsPaused

Ẩn
Chỉ Đọc
Không Sao Chép
Đọc Song Song

Đọ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()Sound:Pause() nên được sử dụng thay vào đó.

Mẫu mã

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

Ẩn
Chỉ Đọc
Không Sao Chép
Đọc Song Song

Đặ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ã

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

Đọc Song Song

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.

Looped

Đọc Song Song

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

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

Đọc Song Song

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ã

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

Chỉ Đọc
Không Sao Chép
Đọc Song Song

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ã

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

Đọc Song Song

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

Đọc Song Song

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

Không Sao Chép
Đọc Song Song

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ã

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

Không Sao Chép
Đọc Song Song

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ã

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

Đọc Song Song

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

Đọc Song Song

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

Đọc Song Song

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

Đọc Song Song

Nhóm âm thanh liên kết với SoundGroup này. SoundSoundGroup.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ã

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
Đọc Song Song

Đâ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ã

Sound in the Workspace

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

TimeLength

Chỉ Đọc
Không Sao Chép
Đọc Song Song

Độ 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ã

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

Không Sao Chép
Đọc Song Song

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ã

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

Đọc Song Song

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

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

Phương Pháp

Pause

void

Đặ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.PlayingSound.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

void

Mẫu mã

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

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

void

Mẫu mã

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

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

void

Mẫu mã

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

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

void

Mẫu mã

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

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ố

soundId: string

Class.Sound.SoundId của Sound đã lặp lại.

numOfTimesLooped: number

Số lần Sound đã lặp lại.


Mẫu mã

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

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ố

soundId: string

Class.Sound.SoundId của Sound đã kết thúc.


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ố

soundId: string

Class.Sound.SoundId của Class.Sound đã được tải.


Mẫu mã

Load Sound

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.ResumedSound.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ố

soundId: string

Class.Sound.SoundId của Sound đã bị tạm dừng.


Mẫu mã

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

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.PausedSound.Resumed , chỉ có chức năng âm thanh tương ứng mới

Tham Số

soundId: string

Class.Sound.SoundId của Sound đã được phát.


Mẫu mã

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

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.PausedSound.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ố

soundId: string

Của Sound.SoundId của Sound đang bị tạm dừng.


Mẫu mã

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

Lửa khi Sound được ngừng bởi hành động Sound:Stop() .

Như với Sound.Played , Sound.PausedSound.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ố

soundId: string

Class.Sound.SoundId của Class.Sound bị dừng.


Mẫu mã

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