Ghi chú phát hành
Học
Lớp công cụ
ContentProvider
Không Thể Tạo
Dịch Vụ
Không Sao Chép

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


Tóm Tắt
Phương Pháp
Preload(contentId: ContentId):()
Đã Lỗi Thời
PreloadAsync(contentIdList: {any},callbackFunction: function):()
RegisterEncryptedAsset(assetId: ContentId,encryptionKey: string):()
RegisterSessionEncryptedAsset(contentId: ContentId,sessionKey: string):()
UnregisterEncryptedAsset(assetId: ContentId):()
Sự Kiện
AssetFetchFailed(assetId: ContentId):RBXScriptSignal
Thành viên kế thừa
Mẫu mã
Trình cung cấp nội dung
local ContentProvider = game:GetService("ContentProvider")
local LOGO_ID = "rbxassetid://658743164"
local PAGE_TURN_ID = "rbxassetid://12222076"
local decal = Instance.new("Decal")
decal.ColorMapContent = Content.fromUri(LOGO_ID)
local sound = Instance.new("Sound")
sound.SoundId = PAGE_TURN_ID
local assets = { decal, sound }
ContentProvider:PreloadAsync(assets)
print("Tất cả tài sản đã được tải.")

Tài Liệu Tham Khảo API
Thuộc Tính
BaseUrl
Chỉ Đọc
Không Sao Chép
Đọc Song Song
Các khả năng: AssetManagement
ContentProvider.BaseUrl:string

RequestQueueSize
Chỉ Đọc
Không Sao Chép
Đọc Song Song
Các khả năng: AssetManagement
ContentProvider.RequestQueueSize:number
Mẫu mã
Thanh Tải Nội Dung
local ContentProvider = game:GetService("ContentProvider")
local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
local playerGui = localPlayer:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
-- tạo một thanh tải cơ bản
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0.5, 0, 0.1, 0)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.Parent = screenGui
local bar = Instance.new("Frame")
bar.Size = UDim2.new(0, 0, 1, 0)
bar.Position = UDim2.new(0, 0, 0, 0)
bar.BackgroundColor3 = Color3.new(0, 0, 1)
bar.Parent = frame
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
local sound2 = Instance.new("Sound")
sound2.SoundId = "rbxassetid://9120385974"
local assets = {
sound,
sound2,
}
task.wait(3)
for i = 1, #assets do
local asset = assets[i]
ContentProvider:PreloadAsync({ asset }) -- 1 từng cái, tạm dừng
local progress = i / #assets
bar.Size = UDim2.new(progress, 0, 1, 0)
end
print("tải hoàn tất")

Phương Pháp
GetAssetFetchStatus
Các khả năng: AssetManagement
ContentProvider:GetAssetFetchStatus(contentId:ContentId):Enum.AssetFetchStatus
Tham Số
contentId:ContentId
Mẫu mã
Giám sát trạng thái AssetFetch
local ContentProvider = game:GetService("ContentProvider")
-- Một tài sản ví dụ để tải
local ASSET_ID = "rbxassetid://9120386436"
local exampleAsset = Instance.new("Sound")
exampleAsset.SoundId = ASSET_ID
-- Xuất trạng thái AssetFetchStatus hiện tại của tài sản
local initialAssetFetchStatus = ContentProvider:GetAssetFetchStatus(ASSET_ID)
print("Trạng thái AssetFetchStatus ban đầu:", initialAssetFetchStatus)
-- Lắng nghe các cập nhật
local assetFetchStatusChangedSignal = ContentProvider:GetAssetFetchStatusChangedSignal(ASSET_ID)
local function onAssetFetchStatusChanged(newAssetFetchStatus: Enum.AssetFetchStatus)
print(`Trạng thái AssetFetchStatus mới: {newAssetFetchStatus}`)
end
assetFetchStatusChangedSignal:Connect(onAssetFetchStatusChanged)
-- Kích hoạt tài sản để nạp trước
local function onAssetRequestComplete(contentId: string, assetFetchStatus: Enum.AssetFetchStatus)
print(`Trạng thái nạp trước {contentId}: {assetFetchStatus.Name}`)
end
ContentProvider:PreloadAsync({ exampleAsset }, onAssetRequestComplete)

GetAssetFetchStatusChangedSignal
Các khả năng: AssetManagement
ContentProvider:GetAssetFetchStatusChangedSignal(contentId:ContentId):RBXScriptSignal
Tham Số
contentId:ContentId
Lợi Nhuận
Mẫu mã
Giám sát trạng thái AssetFetch
local ContentProvider = game:GetService("ContentProvider")
-- Một tài sản ví dụ để tải
local ASSET_ID = "rbxassetid://9120386436"
local exampleAsset = Instance.new("Sound")
exampleAsset.SoundId = ASSET_ID
-- Xuất trạng thái AssetFetchStatus hiện tại của tài sản
local initialAssetFetchStatus = ContentProvider:GetAssetFetchStatus(ASSET_ID)
print("Trạng thái AssetFetchStatus ban đầu:", initialAssetFetchStatus)
-- Lắng nghe các cập nhật
local assetFetchStatusChangedSignal = ContentProvider:GetAssetFetchStatusChangedSignal(ASSET_ID)
local function onAssetFetchStatusChanged(newAssetFetchStatus: Enum.AssetFetchStatus)
print(`Trạng thái AssetFetchStatus mới: {newAssetFetchStatus}`)
end
assetFetchStatusChangedSignal:Connect(onAssetFetchStatusChanged)
-- Kích hoạt tài sản để nạp trước
local function onAssetRequestComplete(contentId: string, assetFetchStatus: Enum.AssetFetchStatus)
print(`Trạng thái nạp trước {contentId}: {assetFetchStatus.Name}`)
end
ContentProvider:PreloadAsync({ exampleAsset }, onAssetRequestComplete)

ListEncryptedAssets
Các khả năng: AssetManagement
ContentProvider:ListEncryptedAssets():{any}
Lợi Nhuận

Preload
Đã Lỗi Thời

PreloadAsync
Sinh Lợi
Các khả năng: AssetManagement
ContentProvider:PreloadAsync(
contentIdList:{any}, callbackFunction:function
):()
Tham Số
contentIdList:{any}
callbackFunction:function
Giá Trị Mặc Định: "nil"
Lợi Nhuận
()
Mẫu mã
Tải trước Tài sản
local ContentProvider = game:GetService("ContentProvider")
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
local decal = Instance.new("Decal")
decal.ColorMapContent = Content.fromUri("rbxassetid://5447528495")
local assets = {
decal,
sound,
}
-- Điều này sẽ được gọi khi mỗi tài sản được giải quyết
local callback = function(assetId, assetFetchStatus)
print("PreloadAsync() đã giải quyết ID tài sản:", assetId)
print("PreloadAsync() trạng thái lấy tài sản cuối cùng:", assetFetchStatus)
end
-- Tiến hành tải trước nội dung và đo thời gian
local startTime = os.clock()
ContentProvider:PreloadAsync(assets, callback)
local deltaTime = os.clock() - startTime
print(("Hoàn tất tải trước, mất %.2f giây"):format(deltaTime))

RegisterDefaultEncryptionKey
Các khả năng: AssetManagement
ContentProvider:RegisterDefaultEncryptionKey(encryptionKey:string):()
Tham Số
encryptionKey:string
Lợi Nhuận
()

RegisterDefaultSessionKey
Các khả năng: AssetManagement
ContentProvider:RegisterDefaultSessionKey(sessionKey:string):()
Tham Số
sessionKey:string
Lợi Nhuận
()

RegisterEncryptedAsset
Các khả năng: AssetManagement
ContentProvider:RegisterEncryptedAsset(
assetId:ContentId, encryptionKey:string
):()
Tham Số
assetId:ContentId
encryptionKey:string
Lợi Nhuận
()

RegisterSessionEncryptedAsset
Các khả năng: AssetManagement
ContentProvider:RegisterSessionEncryptedAsset(
contentId:ContentId, sessionKey:string
):()
Tham Số
contentId:ContentId
sessionKey:string
Lợi Nhuận
()

UnregisterDefaultEncryptionKey
Các khả năng: AssetManagement
ContentProvider:UnregisterDefaultEncryptionKey():()
Lợi Nhuận
()

UnregisterEncryptedAsset
Các khả năng: AssetManagement
ContentProvider:UnregisterEncryptedAsset(assetId:ContentId):()
Tham Số
assetId:ContentId
Lợi Nhuận
()

Sự Kiện
AssetFetchFailed
Các khả năng: AssetManagement
ContentProvider.AssetFetchFailed(assetId:ContentId):RBXScriptSignal
Tham Số
assetId:ContentId

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.