Returns a Promise that resolves once this Provider has finished loading its resource.
If the Provider is already loaded when ensureLoaded() is called, the returned Promise
resolves immediately. Otherwise it resolves once loading completes.
Completion is determined by the Provider's load status (see Provider.getLoadStatus). Some Providers only become loaded once supporting runtime data is available — for example, a Provider whose resource depends on tracking will not report loaded until the relevant tracking data has arrived — so the returned Promise stays pending until that data is produced.
This method is useful when Lens script needs to await a Provider before reading its data — for example, waiting for a remote-asset Provider to finish downloading before sampling it.
Fetch a Texture at runtime via RemoteMediaModule and wait for its Provider to finish loading before using it:
const internetModule = require("LensStudio:InternetModule");
const remoteMediaModule = require("LensStudio:RemoteMediaModule");
function loadImageTexture(url) {
const resource = internetModule.makeResourceFromUrl(url);
return new Promise((resolve, reject) => {
remoteMediaModule.loadResourceAsImageTexture(resource, resolve, reject);
});
}
const texture = await loadImageTexture("https://example.com/image.png");
// Wait until the fetched Texture's Provider has finished loading before using it.
await texture.control.ensureLoaded();
print("Texture ready, loadStatus: " + texture.control.getLoadStatus());
Returns the texture's aspect ratio, which is calculated as width / height.
Returns the height of the texture in pixels.
StaticgetReturns the name of this object's type.
Returns the width of the texture in pixels.
Returns true if the object matches or derives from the passed in type.
Returns true if this object is the same as other. Useful for checking if two references point to the same thing.
Texture Provider giving the camera texture that is the opposite of CameraTextureProvider. The provider will have LoadStatus.Loading until the camera feed is available. On some devices it will never be available. Use DeviceInfoSystem#supportsDualCamera to check the current device.
For example, if the
CameraTextureProvideris providing the rear camera feed,ReverseCameraTextureProviderwould provide the front camera feed.Since
Lens Scripting Version 301
Example