类型 函数 库 media.* 返回值 布尔值 修订 版本 2024.3703 关键词 媒体,相机,照片库 另请参阅 media.selectPhoto() media.capturePhoto()
确定平台上是否提供给定的媒体源,例如相机或照片库。 在调用 media.selectPhoto() 或 media.capturePhoto() 以确定该媒体服务是否可用之前,应调用此函数。 如果平台/设备上提供了媒体源,则返回 true
。 否则返回 false
。
media.hasSource( media.Camera )
返回两个 布尔值。 如果第一个布尔值为 true
,则表示设备具有摄像头**并且**应用有权访问它。 如果第二个布尔值为 true
,则表示设备具有摄像头。 通过这两个布尔值,将应用以下逻辑
true
意味着第二个为 true
。true
而第二个为 false
不应该发生。false
而第二个为 true
表示设备有摄像头,但应用**没有**访问权限。false
表示设备**没有**摄像头。对于 media.hasSource( media.Camera )
,只有当设备**没有**摄像头**或者**用户已明确拒绝应用访问摄像头时,第一个布尔值才会为 false
。
当用户第一次尝试通过应用程序访问相机或照片时,iOS 将处理请求访问权限。
media.hasSource( mediaSource )
常量。 可以是以下之一
media.PhotoLibrary
media.Camera
media.SavedPhotosAlbum
local onComplete = function( event ) print( "Returned from camera view." ) end if ( media.hasSource( media.PhotoLibrary ) ) then media.selectPhoto( { mediaSource=media.PhotoLibrary, listener=onComplete } ) else native.showAlert( "Corona", "This device does not have a camera.", { "OK" } ) end
local onComplete = function( event ) print( "Returned from camera view." ) end local hasAccessToCamera, hasCamera = media.hasSource( media.Camera ) if ( hasAccessToCamera == true ) then -- There is access to the camera media.capturePhoto( { listener = onComplete } ) elseif ( hasCamera == true and native.canShowPopup( "requestAppPermission" ) ) then -- A camera exists, but there is no access to it! native.showPopup( "requestAppPermission", { appPermission="Camera" } ) else native.showAlert( "Corona", "This device does not have a camera.", { "OK" } ) end