Learn
Motor Sınıfı
CaptureService
Oluşturulamaz
Hizmet

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.


Özet
Yöntemler
CaptureScreenshot(onCaptureReady: function):()
PromptSaveCapturesToGallery(captures: {any},resultCallback: function):()
PromptShareCapture(captureContent: Content,launchData: string,onAcceptedCallback: function,onDeniedCallback: function):()
ReadCapturesFromGalleryAsync(captureTypeFilters: {any},readFromAllEligibleExperiences: boolean):Tuple
TakeScreenshotCaptureAsync(onCaptureReady: function,captureParams: Dictionary):()
Olaylar
CaptureSaved(captureInfo: Dictionary):RBXScriptSignal
Artık Kullanılmayan
UserCaptureSaved(captureContentId: ContentId):RBXScriptSignal
Devralınan Üyeler

API Referansı
Yöntemler
CaptureScreenshot
Capabilities: Capture
CaptureService:CaptureScreenshot(onCaptureReady:function):()
Parametreler
onCaptureReady:function
Dönüşler
()
Kod Örnekleri
Ekran Görüntüsü Yakala
local CaptureService = game:GetService("CaptureService")
-- Bu kodu içeren scriptin üstündeki bir ImageLabel'e referans
local imageLabel = script.Parent
local function onCaptureReady(contentId)
imageLabel.Image = contentId
end
CaptureService:CaptureScreenshot(onCaptureReady)

CheckUploadCaptureStatusAsync
Bekletir
Capabilities: Capture
CaptureService:CheckUploadCaptureStatusAsync(token:string):Tuple
Parametreler
token:string
Dönüşler

PromptCaptureGalleryPermissionAsync
Bekletir
Capabilities: Capture
CaptureService:PromptCaptureGalleryPermissionAsync(captureGalleryPermission:Enum.CaptureGalleryPermission):boolean
Parametreler
captureGalleryPermission:Enum.CaptureGalleryPermission
Dönüşler
Kod Örnekleri
Ekran yakalamaları galerisi izni isteme
local CaptureService = game:GetService("CaptureService")
local function isGalleryAccessGranted()
local accepted = CaptureService:PromptCaptureGalleryPermissionAsync(Enum.CaptureGalleryPermission.ReadAndUpload)
return accepted
end

PromptSaveCapturesToGallery
Capabilities: Capture
CaptureService:PromptSaveCapturesToGallery(
captures:{any}, resultCallback:function
):()
Parametreler
captures:{any}
resultCallback:function
Dönüşler
()

PromptShareCapture
Capabilities: Capture
CaptureService:PromptShareCapture(
captureContent:Content, launchData:string, onAcceptedCallback:function, onDeniedCallback:function
):()
Parametreler
captureContent:Content
launchData:string
onAcceptedCallback:function
onDeniedCallback:function
Dönüşler
()
Kod Örnekleri
Paylaşım Yakalama İsteği
local CaptureService = game:GetService("CaptureService")
local function onShareAccepted()
print("Paylaşım yakalama kabul edildi!")
end
local function onShareDenied()
print("Paylaşım yakalama reddedildi!")
end
local onCaptureReady = function(result, videoCapture)
if videoCapture then
local captureContent = Content.fromObject(videoCapture)
CaptureService:PromptShareCapture(captureContent, "launchData" , onShareAccepted, onShareDenied)
end
end
CaptureService:StartVideoCaptureAsync(onCaptureReady, {})

ReadCapturesFromGalleryAsync
Bekletir
Capabilities: Capture
CaptureService:ReadCapturesFromGalleryAsync(
captureTypeFilters:{any}, readFromAllEligibleExperiences:boolean
Parametreler
captureTypeFilters:{any}
Varsayılan değer: "{}"
readFromAllEligibleExperiences:boolean
Varsayılan değer: false
Dönüşler
Kod Örnekleri
Galeriden yakalamaları oku ve sayfalar arasında geçiş yap
local CaptureService = game:GetService("CaptureService")
local function readCapturesFromGallery()
local allCaptures = {}
local capturesPages
local success, result = pcall(function()
local readResult, pages = CaptureService:ReadCapturesFromGalleryAsync({}, false)
if readResult == Enum.ReadCapturesFromGalleryResult.Success then
capturesPages = pages
end
return readResult
end)
if not success or result ~= Enum.ReadCapturesFromGalleryResult.Success then
-- Muhtemelen bir izin hatası, CaptureService:PromptCaptureGalleryPermissionAsync()'e bakın
warn("İlk yakalamaları almakta başarısız: " .. result.Name)
return
end
-- Mevcut sayfada geçiş yap
local currentPage = capturesPages:GetCurrentPage()
for _, capture in currentPage do
table.insert(allCaptures, capture)
end
-- Tamamlanana kadar bir sonraki sayfaya geç
while not capturesPages.IsFinished do
local advanceToNextPageSuccess, _ = pcall(function()
capturesPages:AdvanceToNextPageAsync()
end)
if not advanceToNextPageSuccess then
return
end
currentPage = capturesPages:GetCurrentPage()
for _, capture in currentPage do
table.insert(allCaptures, capture)
end
end
return allCaptures
end

StartUploadCaptureAsync
Bekletir
Capabilities: Capture
CaptureService:StartUploadCaptureAsync(capture:Capture):Tuple
Parametreler
capture:Capture
Dönüşler

StartVideoCaptureAsync
Bekletir
Capabilities: Capture
CaptureService:StartVideoCaptureAsync(
onCaptureReady:function, captureParams:Dictionary
Parametreler
onCaptureReady:function
captureParams:Dictionary
Varsayılan değer: "nil"
Kod Örnekleri
Video Kaydını Asenkron Başlat
local CaptureService = game:GetService("CaptureService")
local tool = Instance.new("Tool")
tool.Parent = workspace
local onCaptureReady = function(result, videoCapture)
if result ~= Enum.VideoCaptureResult.Success and result ~= Enum.VideoCaptureResult.TimeLimitReached or not videoCapture then
print("Video kaydı tamamlanamadı nedeni:", result)
else
-- Kullanıcıdan video kaydını galerisine kaydetmesini iste
CaptureService:PromptSaveCapturesToGallery({ videoCapture }, function()
print("Kayıt kaydedildi")
end)
end
end
tool.Activated:Connect(function()
local videoRecordingAllowedResult: Enum.VideoCaptureStartedResult = CaptureService:StartVideoCaptureAsync(onCaptureReady, {})
if videoRecordingAllowedResult ~= Enum.VideoCaptureStartedResult.Success then
print("Video kaydı başlatılamadı nedeni:", videoRecordingAllowedResult)
end
end)

StopVideoCapture
Capabilities: Capture
CaptureService:StopVideoCapture():()
Dönüşler
()

TakeScreenshotCaptureAsync
Capabilities: Capture
CaptureService:TakeScreenshotCaptureAsync(
onCaptureReady:function, captureParams:Dictionary
):()
Parametreler
onCaptureReady:function
captureParams:Dictionary
Varsayılan değer: "nil"
Dönüşler
()
Kod Örnekleri
Ekran Görüntüsü Yakalama Asenkron
local CaptureService = game:GetService("CaptureService")
local parent = Instance.new("Tool")
parent.Parent = workspace
local onCaptureReady = function(result, screenshotCapture)
if result ~= Enum.ScreenshotCaptureResult.Success or not screenshotCapture then
print("Ekran görüntüsü tamamlanamadı, sebep:", result)
else
-- Kullanıcıdan ekran görüntüsünü galerisine kaydetmesi için onay iste
CaptureService:PromptSaveCapturesToGallery({ screenshotCapture }, function(results)
for capture, result in pairs(results) do
if result then
print("Yakalama kaydedildi")
end
end
end)
end
end
parent.Activated:Connect(function()
CaptureService:TakeScreenshotCaptureAsync(onCaptureReady, { UICaptureMode = Enum.UICaptureMode.All })
end)

UploadCaptureAsync
Bekletir
Capabilities: Capture
CaptureService:UploadCaptureAsync(capture:Capture):Tuple
Parametreler
capture:Capture
Dönüşler
Kod Örnekleri
Vereyi varlık sistemine yükle
local CaptureService = game:GetService("CaptureService")
local function uploadCapture(capture: Capture)
local success, result = pcall(function()
local uploadCaptureResult, assetId = CaptureService:UploadCaptureAsync(capture)
if uploadCaptureResult ~= Enum.UploadCaptureResult.Success then
-- Başarısızlığı işleyin
return nil
end
return assetId
end)
if not success then
-- Hataları işleyin
return nil
end
return result
end

Olaylar
CaptureBegan
Capabilities: Capture
CaptureService.CaptureBegan(captureType:Enum.CaptureType):RBXScriptSignal
Parametreler
captureType:Enum.CaptureType

CaptureEnded
Capabilities: Capture
CaptureService.CaptureEnded(captureType:Enum.CaptureType):RBXScriptSignal
Parametreler
captureType:Enum.CaptureType

CaptureSaved
Artık Kullanılmayan

UserCaptureSaved
Capabilities: Capture
CaptureService.UserCaptureSaved(captureContentId:ContentId):RBXScriptSignal
Parametreler
captureContentId:ContentId

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.