Pelajari
Kelas Engine
ContentProvider
Tidak Dapat Dibuat
Layanan
Tidak Direplikasi

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


Rangkuman
Metode
Preload(contentId: ContentId):()
Tidak digunakan lagi
PreloadAsync(contentIdList: {any},callbackFunction: function):()
RegisterEncryptedAsset(assetId: ContentId,encryptionKey: string):()
RegisterSessionEncryptedAsset(contentId: ContentId,sessionKey: string):()
UnregisterEncryptedAsset(assetId: ContentId):()
Acara
AssetFetchFailed(assetId: ContentId):RBXScriptSignal
Anggota yang Diwariskan
Contoh Kode
PenyediaKonten
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("Semua aset telah dimuat.")

Referensi API
Properti
BaseUrl
Hanya Baca
Tidak Direplikasi
Baca Paralel
Kemampuan: AssetManagement
ContentProvider.BaseUrl:string

RequestQueueSize
Hanya Baca
Tidak Direplikasi
Baca Paralel
Kemampuan: AssetManagement
ContentProvider.RequestQueueSize:number
Contoh Kode
Bar Memuat ContentProvider
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
-- buat bar loading dasar
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 per satu, menunggu
local progress = i / #assets
bar.Size = UDim2.new(progress, 0, 1, 0)
end
print("pemuatan selesai")

Metode
GetAssetFetchStatus
Kemampuan: AssetManagement
ContentProvider:GetAssetFetchStatus(contentId:ContentId):Enum.AssetFetchStatus
Parameter
contentId:ContentId
Memberikan nilai
Contoh Kode
Memantau StatusFetchAset
local ContentProvider = game:GetService("ContentProvider")
-- Contoh aset untuk dimuat
local ASSET_ID = "rbxassetid://9120386436"
local exampleAsset = Instance.new("Sound")
exampleAsset.SoundId = ASSET_ID
-- Menampilkan StatusFetchAset saat ini dari aset
local initialAssetFetchStatus = ContentProvider:GetAssetFetchStatus(ASSET_ID)
print("Status Fetch Aset Awal:", initialAssetFetchStatus)
-- Mendengarkan pembaruan
local assetFetchStatusChangedSignal = ContentProvider:GetAssetFetchStatusChangedSignal(ASSET_ID)
local function onAssetFetchStatusChanged(newAssetFetchStatus: Enum.AssetFetchStatus)
print(`Status Fetch Aset Baru: {newAssetFetchStatus}`)
end
assetFetchStatusChangedSignal:Connect(onAssetFetchStatusChanged)
-- Memicu aset untuk memuat sebelumnya
local function onAssetRequestComplete(contentId: string, assetFetchStatus: Enum.AssetFetchStatus)
print(`Status memuat {contentId}: {assetFetchStatus.Name}`)
end
ContentProvider:PreloadAsync({ exampleAsset }, onAssetRequestComplete)

GetAssetFetchStatusChangedSignal
Kemampuan: AssetManagement
ContentProvider:GetAssetFetchStatusChangedSignal(contentId:ContentId):RBXScriptSignal
Parameter
contentId:ContentId
Memberikan nilai
Contoh Kode
Memantau StatusFetchAset
local ContentProvider = game:GetService("ContentProvider")
-- Contoh aset untuk dimuat
local ASSET_ID = "rbxassetid://9120386436"
local exampleAsset = Instance.new("Sound")
exampleAsset.SoundId = ASSET_ID
-- Menampilkan StatusFetchAset saat ini dari aset
local initialAssetFetchStatus = ContentProvider:GetAssetFetchStatus(ASSET_ID)
print("Status Fetch Aset Awal:", initialAssetFetchStatus)
-- Mendengarkan pembaruan
local assetFetchStatusChangedSignal = ContentProvider:GetAssetFetchStatusChangedSignal(ASSET_ID)
local function onAssetFetchStatusChanged(newAssetFetchStatus: Enum.AssetFetchStatus)
print(`Status Fetch Aset Baru: {newAssetFetchStatus}`)
end
assetFetchStatusChangedSignal:Connect(onAssetFetchStatusChanged)
-- Memicu aset untuk memuat sebelumnya
local function onAssetRequestComplete(contentId: string, assetFetchStatus: Enum.AssetFetchStatus)
print(`Status memuat {contentId}: {assetFetchStatus.Name}`)
end
ContentProvider:PreloadAsync({ exampleAsset }, onAssetRequestComplete)

ListEncryptedAssets
Kemampuan: AssetManagement
ContentProvider:ListEncryptedAssets():{any}
Memberikan nilai

Preload
Tidak digunakan lagi

PreloadAsync
Hasil
Kemampuan: AssetManagement
ContentProvider:PreloadAsync(
contentIdList:{any}, callbackFunction:function
):()
Parameter
contentIdList:{any}
callbackFunction:function
Nilai Default: "nil"
Memberikan nilai
()
Contoh Kode
Memuat Aset
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,
}
-- Ini akan dipanggil saat setiap aset diselesaikan
local callback = function(assetId, assetFetchStatus)
print("PreloadAsync() menyelesaikan ID aset:", assetId)
print("PreloadAsync() status AsetFetchStatus akhir:", assetFetchStatus)
end
-- Preload konten dan waktu yang dibutuhkan
local startTime = os.clock()
ContentProvider:PreloadAsync(assets, callback)
local deltaTime = os.clock() - startTime
print(("Preloading selesai, memakan waktu %.2f detik"):format(deltaTime))

RegisterDefaultEncryptionKey
Kemampuan: AssetManagement
ContentProvider:RegisterDefaultEncryptionKey(encryptionKey:string):()
Parameter
encryptionKey:string
Memberikan nilai
()

RegisterDefaultSessionKey
Kemampuan: AssetManagement
ContentProvider:RegisterDefaultSessionKey(sessionKey:string):()
Parameter
sessionKey:string
Memberikan nilai
()

RegisterEncryptedAsset
Kemampuan: AssetManagement
ContentProvider:RegisterEncryptedAsset(
assetId:ContentId, encryptionKey:string
):()
Parameter
assetId:ContentId
encryptionKey:string
Memberikan nilai
()

RegisterSessionEncryptedAsset
Kemampuan: AssetManagement
ContentProvider:RegisterSessionEncryptedAsset(
contentId:ContentId, sessionKey:string
):()
Parameter
contentId:ContentId
sessionKey:string
Memberikan nilai
()

UnregisterDefaultEncryptionKey
Kemampuan: AssetManagement
ContentProvider:UnregisterDefaultEncryptionKey():()
Memberikan nilai
()

UnregisterEncryptedAsset
Kemampuan: AssetManagement
ContentProvider:UnregisterEncryptedAsset(assetId:ContentId):()
Parameter
assetId:ContentId
Memberikan nilai
()

Acara
AssetFetchFailed
Kemampuan: AssetManagement
ContentProvider.AssetFetchFailed(assetId:ContentId):RBXScriptSignal
Parameter
assetId:ContentId

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.