@nodert-win10-cu/windows.media.capture
Version:
Use the Windows.Media.Capture UWP API directly from Node.js
1,481 lines (1,105 loc) • 47 kB
TypeScript
declare module "windows.media.capture" {
export class Size {
constructor();
}
export class BitmapSize {
width: Number;
height: Number;
constructor();
}
export class Rect {
constructor();
}
export class WhiteBalanceGain {
r: Number;
g: Number;
b: Number;
constructor();
}
export class AppBroadcastContract {
constructor();
}
export class AppCaptureContract {
constructor();
}
export class CameraCaptureUIContract {
constructor();
}
export class GameBarContract {
constructor();
}
export enum CameraCaptureUIMode {
photoOrVideo,
photo,
video,
}
export enum CameraCaptureUIPhotoFormat {
jpeg,
png,
jpegXR,
}
export enum CameraCaptureUIVideoFormat {
mp4,
wmv,
}
export enum CameraCaptureUIMaxVideoResolution {
highestAvailable,
lowDefinition,
standardDefinition,
highDefinition,
}
export enum CameraCaptureUIMaxPhotoResolution {
highestAvailable,
verySmallQvga,
smallVga,
mediumXga,
large3M,
veryLarge5M,
}
export enum MediaCategory {
other,
communications,
media,
gameChat,
speech,
}
export enum MediaStreamType {
videoPreview,
videoRecord,
audio,
photo,
}
export enum StreamingCaptureMode {
audioAndVideo,
audio,
video,
}
export enum VideoRotation {
none,
clockwise90Degrees,
clockwise180Degrees,
clockwise270Degrees,
}
export enum PhotoCaptureSource {
auto,
videoPreview,
photo,
}
export enum VideoDeviceCharacteristic {
allStreamsIndependent,
previewRecordStreamsIdentical,
previewPhotoStreamsIdentical,
recordPhotoStreamsIdentical,
allStreamsIdentical,
}
export enum PowerlineFrequency {
disabled,
fiftyHertz,
sixtyHertz,
auto,
}
export enum MediaCaptureThermalStatus {
normal,
overheated,
}
export enum MediaCaptureDeviceExclusiveControlStatus {
exclusiveControlAvailable,
sharedReadOnlyAvailable,
}
export enum KnownVideoProfile {
videoRecording,
highQualityPhoto,
balancedVideoAndPhoto,
videoConferencing,
photoSequence,
}
export enum MediaCaptureMemoryPreference {
auto,
cpu,
}
export enum MediaCaptureSharingMode {
exclusiveControl,
sharedReadOnly,
}
export enum AppBroadcastCameraOverlayLocation {
topLeft,
topCenter,
topRight,
middleLeft,
middleCenter,
middleRight,
bottomLeft,
bottomCenter,
bottomRight,
}
export enum AppBroadcastCameraOverlaySize {
small,
medium,
large,
}
export enum AppBroadcastVideoEncodingBitrateMode {
custom,
auto,
}
export enum AppBroadcastVideoEncodingResolutionMode {
custom,
auto,
}
export enum AppBroadcastPlugInState {
unknown,
initialized,
microsoftSignInRequired,
oAuthSignInRequired,
providerSignInRequired,
inBandwidthTest,
readyToBroadcast,
}
export enum AppBroadcastStreamState {
initializing,
streamReady,
started,
paused,
terminated,
}
export enum AppBroadcastSignInState {
notSignedIn,
microsoftSignInInProgress,
microsoftSignInComplete,
oAuthSignInInProgress,
oAuthSignInComplete,
}
export enum AppBroadcastTerminationReason {
normalTermination,
lostConnectionToService,
noNetworkConnectivity,
serviceAbort,
serviceError,
serviceUnavailable,
internalError,
unsupportedFormat,
backgroundTaskTerminated,
backgroundTaskUnresponsive,
}
export enum AppBroadcastSignInResult {
success,
authenticationFailed,
unauthorized,
serviceUnavailable,
unknown,
}
export enum ForegroundActivationArgument {
signInRequired,
moreSettings,
}
export enum AppBroadcastMicrophoneCaptureState {
stopped,
started,
failed,
}
export enum AppBroadcastCameraCaptureState {
stopped,
started,
failed,
}
export enum AppBroadcastExitBroadcastModeReason {
normalExit,
userCanceled,
authorizationFail,
foregroundAppActivated,
}
export enum AppBroadcastPreviewState {
started,
stopped,
failed,
}
export enum AppBroadcastCaptureTargetType {
appView,
entireDisplay,
}
export enum GameBarServicesDisplayMode {
windowed,
fullScreenExclusive,
}
export enum AppCaptureVideoEncodingBitrateMode {
custom,
high,
standard,
}
export enum AppCaptureVideoEncodingResolutionMode {
custom,
high,
standard,
}
export enum AppCaptureVideoEncodingFrameRateMode {
standard,
high,
}
export enum AppCaptureHistoricalBufferLengthUnit {
megabytes,
seconds,
}
export enum AppCaptureMicrophoneCaptureState {
stopped,
started,
failed,
}
export enum AppCaptureRecordingState {
inProgress,
completed,
failed,
}
export enum GameBarCommand {
openGameBar,
recordHistoricalBuffer,
toggleStartStopRecord,
startRecord,
stopRecord,
takeScreenshot,
startBroadcast,
stopBroadcast,
pauseBroadcast,
resumeBroadcast,
toggleStartStopBroadcast,
toggleMicrophoneCapture,
toggleCameraCapture,
toggleRecordingIndicator,
}
export enum GameBarCommandOrigin {
shortcutKey,
cortana,
appCommand,
}
export enum GameBarTargetCapturePolicy {
enabledBySystem,
enabledByUser,
notEnabled,
prohibitedBySystem,
prohibitedByPublisher,
}
export class AppCapture {
isCapturingAudio: Boolean;
isCapturingVideo: Boolean;
constructor();
static getForCurrentView(): AppCapture;
addListener(type: "CapturingChanged", listener: (ev: Event) => void): void ;
removeListener(type: "CapturingChanged", listener: (ev: Event) => void): void ;
on(type: "CapturingChanged", listener: (ev: Event) => void): void ;
off(type: "CapturingChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class CameraCaptureUIPhotoCaptureSettings {
maxResolution: CameraCaptureUIMaxPhotoResolution;
format: CameraCaptureUIPhotoFormat;
croppedSizeInPixels: Object;
croppedAspectRatio: Object;
allowCropping: Boolean;
constructor();
}
export class CameraCaptureUIVideoCaptureSettings {
maxResolution: CameraCaptureUIMaxVideoResolution;
maxDurationInSeconds: Number;
format: CameraCaptureUIVideoFormat;
allowTrimming: Boolean;
constructor();
}
export class CameraCaptureUI {
photoSettings: CameraCaptureUIPhotoCaptureSettings;
videoSettings: CameraCaptureUIVideoCaptureSettings;
constructor();
captureFileAsync(mode: CameraCaptureUIMode, callback: (error: Error, result: Object) => void): void ;
}
export class MediaCaptureFailedEventArgs {
code: Number;
message: String;
constructor();
}
export class MediaCapture {
audioDeviceController: Object;
mediaCaptureSettings: MediaCaptureSettings;
videoDeviceController: Object;
cameraStreamState: Number;
thermalStatus: MediaCaptureThermalStatus;
frameSources: Object;
constructor();
static isVideoProfileSupported(videoDeviceId: String): Boolean;
static findAllVideoProfiles(videoDeviceId: String): Object;
static findConcurrentProfiles(videoDeviceId: String): Object;
static findKnownVideoProfiles(videoDeviceId: String, name: KnownVideoProfile): Object;
getPreviewFrameAsync(callback: (error: Error, result: Object) => void): void ;
getPreviewFrameAsync(destination: Object, callback: (error: Error, result: Object) => void): void ;
prepareAdvancedPhotoCaptureAsync(encodingProperties: Object, callback: (error: Error, result: AdvancedPhotoCapture) => void): void ;
removeEffectAsync(effect: Object, callback: (error: Error) => void): void ;
pauseRecordWithResultAsync(behavior: Number, callback: (error: Error, result: MediaCapturePauseResult) => void): void ;
stopRecordWithResultAsync(callback: (error: Error, result: MediaCaptureStopResult) => void): void ;
createFrameReaderAsync(inputSource: Object, callback: (error: Error, result: Object) => void): void ;
createFrameReaderAsync(inputSource: Object, outputSubtype: String, callback: (error: Error, result: Object) => void): void ;
createFrameReaderAsync(inputSource: Object, outputSubtype: String, outputSize: BitmapSize, callback: (error: Error, result: Object) => void): void ;
createMultiSourceFrameReaderAsync(inputSources: Object, callback: (error: Error, result: Object) => void): void ;
initializeAsync(callback: (error: Error) => void): void ;
initializeAsync(mediaCaptureInitializationSettings: MediaCaptureInitializationSettings, callback: (error: Error) => void): void ;
startRecordToStorageFileAsync(encodingProfile: Object, file: Object, callback: (error: Error) => void): void ;
startRecordToStreamAsync(encodingProfile: Object, stream: Object, callback: (error: Error) => void): void ;
startRecordToCustomSinkAsync(encodingProfile: Object, customMediaSink: Object, callback: (error: Error) => void): void ;
startRecordToCustomSinkAsync(encodingProfile: Object, customSinkActivationId: String, customSinkSettings: Object, callback: (error: Error) => void): void ;
stopRecordAsync(callback: (error: Error) => void): void ;
capturePhotoToStorageFileAsync(type: Object, file: Object, callback: (error: Error) => void): void ;
capturePhotoToStreamAsync(type: Object, stream: Object, callback: (error: Error) => void): void ;
addEffectAsync(mediaStreamType: MediaStreamType, effectActivationID: String, effectSettings: Object, callback: (error: Error) => void): void ;
clearEffectsAsync(mediaStreamType: MediaStreamType, callback: (error: Error) => void): void ;
startPreviewAsync(callback: (error: Error) => void): void ;
startPreviewToCustomSinkAsync(encodingProfile: Object, customMediaSink: Object, callback: (error: Error) => void): void ;
startPreviewToCustomSinkAsync(encodingProfile: Object, customSinkActivationId: String, customSinkSettings: Object, callback: (error: Error) => void): void ;
stopPreviewAsync(callback: (error: Error) => void): void ;
prepareLowLagRecordToStorageFileAsync(encodingProfile: Object, file: Object, callback: (error: Error, result: LowLagMediaRecording) => void): void ;
prepareLowLagRecordToStreamAsync(encodingProfile: Object, stream: Object, callback: (error: Error, result: LowLagMediaRecording) => void): void ;
prepareLowLagRecordToCustomSinkAsync(encodingProfile: Object, customMediaSink: Object, callback: (error: Error, result: LowLagMediaRecording) => void): void ;
prepareLowLagRecordToCustomSinkAsync(encodingProfile: Object, customSinkActivationId: String, customSinkSettings: Object, callback: (error: Error, result: LowLagMediaRecording) => void): void ;
prepareLowLagPhotoCaptureAsync(type: Object, callback: (error: Error, result: LowLagPhotoCapture) => void): void ;
prepareLowLagPhotoSequenceCaptureAsync(type: Object, callback: (error: Error, result: LowLagPhotoSequenceCapture) => void): void ;
setEncodingPropertiesAsync(mediaStreamType: MediaStreamType, mediaEncodingProperties: Object, encoderProperties: Object, callback: (error: Error) => void): void ;
prepareVariablePhotoSequenceCaptureAsync(type: Object, callback: (error: Error, result: Object) => void): void ;
addAudioEffectAsync(definition: Object, callback: (error: Error, result: Object) => void): void ;
addVideoEffectAsync(definition: Object, mediaStreamType: MediaStreamType, callback: (error: Error, result: Object) => void): void ;
pauseRecordAsync(behavior: Number, callback: (error: Error) => void): void ;
resumeRecordAsync(callback: (error: Error) => void): void ;
setEncoderProperty(mediaStreamType: MediaStreamType, propertyId: String, propertyValue: Object): void;
getEncoderProperty(mediaStreamType: MediaStreamType, propertyId: String): Object;
setPreviewMirroring(value: Boolean): void;
getPreviewMirroring(): Boolean;
setPreviewRotation(value: VideoRotation): void;
getPreviewRotation(): VideoRotation;
setRecordRotation(value: VideoRotation): void;
getRecordRotation(): VideoRotation;
close(): void;
addListener(type: "Failed", listener: (ev: Event) => void): void ;
removeListener(type: "Failed", listener: (ev: Event) => void): void ;
on(type: "Failed", listener: (ev: Event) => void): void ;
off(type: "Failed", listener: (ev: Event) => void): void ;
addListener(type: "RecordLimitationExceeded", listener: (ev: Event) => void): void ;
removeListener(type: "RecordLimitationExceeded", listener: (ev: Event) => void): void ;
on(type: "RecordLimitationExceeded", listener: (ev: Event) => void): void ;
off(type: "RecordLimitationExceeded", listener: (ev: Event) => void): void ;
addListener(type: "FocusChanged", listener: (ev: Event) => void): void ;
removeListener(type: "FocusChanged", listener: (ev: Event) => void): void ;
on(type: "FocusChanged", listener: (ev: Event) => void): void ;
off(type: "FocusChanged", listener: (ev: Event) => void): void ;
addListener(type: "PhotoConfirmationCaptured", listener: (ev: Event) => void): void ;
removeListener(type: "PhotoConfirmationCaptured", listener: (ev: Event) => void): void ;
on(type: "PhotoConfirmationCaptured", listener: (ev: Event) => void): void ;
off(type: "PhotoConfirmationCaptured", listener: (ev: Event) => void): void ;
addListener(type: "CameraStreamStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "CameraStreamStateChanged", listener: (ev: Event) => void): void ;
on(type: "CameraStreamStateChanged", listener: (ev: Event) => void): void ;
off(type: "CameraStreamStateChanged", listener: (ev: Event) => void): void ;
addListener(type: "ThermalStatusChanged", listener: (ev: Event) => void): void ;
removeListener(type: "ThermalStatusChanged", listener: (ev: Event) => void): void ;
on(type: "ThermalStatusChanged", listener: (ev: Event) => void): void ;
off(type: "ThermalStatusChanged", listener: (ev: Event) => void): void ;
addListener(type: "CaptureDeviceExclusiveControlStatusChanged", listener: (ev: Event) => void): void ;
removeListener(type: "CaptureDeviceExclusiveControlStatusChanged", listener: (ev: Event) => void): void ;
on(type: "CaptureDeviceExclusiveControlStatusChanged", listener: (ev: Event) => void): void ;
off(type: "CaptureDeviceExclusiveControlStatusChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class MediaCaptureVideoProfileMediaDescription {
frameRate: Number;
height: Number;
isHdrVideoSupported: Boolean;
isVariablePhotoSequenceSupported: Boolean;
width: Number;
constructor();
}
export class MediaCaptureVideoProfile {
id: String;
supportedPhotoMediaDescription: Object;
supportedPreviewMediaDescription: Object;
supportedRecordMediaDescription: Object;
videoDeviceId: String;
constructor();
getConcurrency(): Object;
}
export class MediaCaptureInitializationSettings {
videoDeviceId: String;
audioDeviceId: String;
photoCaptureSource: PhotoCaptureSource;
streamingCaptureMode: StreamingCaptureMode;
mediaCategory: MediaCategory;
audioProcessing: Number;
videoSource: Object;
audioSource: Object;
recordMediaDescription: MediaCaptureVideoProfileMediaDescription;
videoProfile: MediaCaptureVideoProfile;
photoMediaDescription: MediaCaptureVideoProfileMediaDescription;
previewMediaDescription: MediaCaptureVideoProfileMediaDescription;
sourceGroup: Object;
sharingMode: MediaCaptureSharingMode;
memoryPreference: MediaCaptureMemoryPreference;
alwaysPlaySystemShutterSound: Boolean;
constructor();
}
export class MediaCaptureSettings {
audioDeviceId: String;
photoCaptureSource: PhotoCaptureSource;
streamingCaptureMode: StreamingCaptureMode;
videoDeviceCharacteristic: VideoDeviceCharacteristic;
videoDeviceId: String;
audioProcessing: Number;
cameraSoundRequiredForRegion: Boolean;
concurrentRecordAndPhotoSequenceSupported: Boolean;
concurrentRecordAndPhotoSupported: Boolean;
horizontal35mmEquivalentFocalLength: Number;
mediaCategory: MediaCategory;
pitchOffsetDegrees: Number;
vertical35mmEquivalentFocalLength: Number;
constructor();
}
export class LowLagMediaRecording {
constructor();
startAsync(callback: (error: Error) => void): void ;
stopAsync(callback: (error: Error) => void): void ;
finishAsync(callback: (error: Error) => void): void ;
pauseAsync(behavior: Number, callback: (error: Error) => void): void ;
resumeAsync(callback: (error: Error) => void): void ;
pauseWithResultAsync(behavior: Number, callback: (error: Error, result: MediaCapturePauseResult) => void): void ;
stopWithResultAsync(callback: (error: Error, result: MediaCaptureStopResult) => void): void ;
}
export class LowLagPhotoCapture {
constructor();
captureAsync(callback: (error: Error, result: CapturedPhoto) => void): void ;
finishAsync(callback: (error: Error) => void): void ;
}
export class LowLagPhotoSequenceCapture {
constructor();
startAsync(callback: (error: Error) => void): void ;
stopAsync(callback: (error: Error) => void): void ;
finishAsync(callback: (error: Error) => void): void ;
addListener(type: "PhotoCaptured", listener: (ev: Event) => void): void ;
removeListener(type: "PhotoCaptured", listener: (ev: Event) => void): void ;
on(type: "PhotoCaptured", listener: (ev: Event) => void): void ;
off(type: "PhotoCaptured", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class MediaCaptureFocusChangedEventArgs {
focusState: Number;
constructor();
}
export class PhotoConfirmationCapturedEventArgs {
captureTimeOffset: Number;
frame: CapturedFrame;
constructor();
}
export class AdvancedPhotoCapture {
constructor();
captureAsync(callback: (error: Error, result: AdvancedCapturedPhoto) => void): void ;
captureAsync(context: Object, callback: (error: Error, result: AdvancedCapturedPhoto) => void): void ;
finishAsync(callback: (error: Error) => void): void ;
addListener(type: "AllPhotosCaptured", listener: (ev: Event) => void): void ;
removeListener(type: "AllPhotosCaptured", listener: (ev: Event) => void): void ;
on(type: "AllPhotosCaptured", listener: (ev: Event) => void): void ;
off(type: "AllPhotosCaptured", listener: (ev: Event) => void): void ;
addListener(type: "OptionalReferencePhotoCaptured", listener: (ev: Event) => void): void ;
removeListener(type: "OptionalReferencePhotoCaptured", listener: (ev: Event) => void): void ;
on(type: "OptionalReferencePhotoCaptured", listener: (ev: Event) => void): void ;
off(type: "OptionalReferencePhotoCaptured", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class MediaCapturePauseResult {
lastFrame: Object;
recordDuration: Number;
constructor();
close(): void;
}
export class MediaCaptureStopResult {
lastFrame: Object;
recordDuration: Number;
constructor();
close(): void;
}
export class MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
deviceId: String;
status: MediaCaptureDeviceExclusiveControlStatus;
constructor();
}
export class CapturedPhoto {
frame: CapturedFrame;
thumbnail: CapturedFrame;
constructor();
}
export class AdvancedCapturedPhoto {
context: Object;
frame: CapturedFrame;
mode: Number;
frameBoundsRelativeToReferencePhoto: Object;
constructor();
}
export class OptionalReferencePhotoCapturedEventArgs {
context: Object;
frame: CapturedFrame;
constructor();
}
export class CapturedFrame {
height: Number;
width: Number;
softwareBitmap: Object;
contentType: String;
size: Number;
canRead: Boolean;
canWrite: Boolean;
position: Number;
constructor();
readAsync(buffer: Object, count: Number, options: Number, callback: (error: Error, result: Object) => void): void ;
writeAsync(buffer: Object, callback: (error: Error, result: Number) => void): void ;
flushAsync(callback: (error: Error, result: Boolean) => void): void ;
getInputStreamAt(position: Number): Object;
getOutputStreamAt(position: Number): Object;
seek(position: Number): void;
cloneStream(): Object;
close(): void;
}
export class PhotoCapturedEventArgs {
captureTimeOffset: Number;
frame: CapturedFrame;
thumbnail: CapturedFrame;
constructor();
}
export class CapturedFrameControlValues {
exposure: Number;
exposureCompensation: Number;
flashPowerPercent: Number;
flashed: Boolean;
focus: Number;
isoSpeed: Number;
sceneMode: Number;
whiteBalance: Number;
zoomFactor: Number;
focusState: Number;
isoAnalogGain: Number;
isoDigitalGain: Number;
sensorFrameRate: Object;
whiteBalanceGain: WhiteBalanceGain;
constructor();
}
export class VideoStreamConfiguration {
inputProperties: Object;
outputProperties: Object;
constructor();
}
export class AppBroadcastGlobalSettings {
systemAudioGain: Number;
selectedCameraId: String;
microphoneGain: Number;
isMicrophoneCaptureEnabledByDefault: Boolean;
isEchoCancellationEnabled: Boolean;
isCursorImageCaptureEnabled: Boolean;
isCameraCaptureEnabledByDefault: Boolean;
isAudioCaptureEnabled: Boolean;
cameraOverlaySize: AppBroadcastCameraOverlaySize;
cameraOverlayLocation: AppBroadcastCameraOverlayLocation;
hasHardwareEncoder: Boolean;
isBroadcastEnabled: Boolean;
isDisabledByPolicy: Boolean;
isGpuConstrained: Boolean;
constructor();
}
export class AppBroadcastProviderSettings {
videoEncodingResolutionMode: AppBroadcastVideoEncodingResolutionMode;
videoEncodingBitrateMode: AppBroadcastVideoEncodingBitrateMode;
defaultBroadcastTitle: String;
customVideoEncodingWidth: Number;
customVideoEncodingHeight: Number;
customVideoEncodingBitrate: Number;
audioEncodingBitrate: Number;
constructor();
}
export class AppBroadcastManager {
constructor();
static getGlobalSettings(): AppBroadcastGlobalSettings;
static applyGlobalSettings(value: AppBroadcastGlobalSettings): void;
static getProviderSettings(): AppBroadcastProviderSettings;
static applyProviderSettings(value: AppBroadcastProviderSettings): void;
}
export class AppBroadcastBackgroundServiceSignInInfo {
userName: String;
oAuthRequestUri: Object;
oAuthCallbackUri: Object;
authenticationResult: Object;
signInState: AppBroadcastSignInState;
constructor();
addListener(type: "SignInStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "SignInStateChanged", listener: (ev: Event) => void): void ;
on(type: "SignInStateChanged", listener: (ev: Event) => void): void ;
off(type: "SignInStateChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppBroadcastSignInStateChangedEventArgs {
result: AppBroadcastSignInResult;
signInState: AppBroadcastSignInState;
constructor();
}
export class AppBroadcastStreamReader {
audioAacSequence: Object;
audioBitrate: Number;
audioChannels: Number;
audioSampleRate: Number;
videoBitrate: Number;
videoHeight: Number;
videoWidth: Number;
constructor();
tryGetNextAudioFrame(): AppBroadcastStreamAudioFrame;
tryGetNextVideoFrame(): AppBroadcastStreamVideoFrame;
addListener(type: "AudioFrameArrived", listener: (ev: Event) => void): void ;
removeListener(type: "AudioFrameArrived", listener: (ev: Event) => void): void ;
on(type: "AudioFrameArrived", listener: (ev: Event) => void): void ;
off(type: "AudioFrameArrived", listener: (ev: Event) => void): void ;
addListener(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
removeListener(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
on(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
off(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppBroadcastBackgroundServiceStreamInfo {
desiredVideoEncodingBitrate: Number;
bandwidthTestBitrate: Number;
audioCodec: String;
broadcastStreamReader: AppBroadcastStreamReader;
streamState: AppBroadcastStreamState;
constructor();
addListener(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
on(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
off(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
addListener(type: "VideoEncodingBitrateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "VideoEncodingBitrateChanged", listener: (ev: Event) => void): void ;
on(type: "VideoEncodingBitrateChanged", listener: (ev: Event) => void): void ;
off(type: "VideoEncodingBitrateChanged", listener: (ev: Event) => void): void ;
addListener(type: "VideoEncodingResolutionChanged", listener: (ev: Event) => void): void ;
removeListener(type: "VideoEncodingResolutionChanged", listener: (ev: Event) => void): void ;
on(type: "VideoEncodingResolutionChanged", listener: (ev: Event) => void): void ;
off(type: "VideoEncodingResolutionChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppBroadcastStreamStateChangedEventArgs {
streamState: AppBroadcastStreamState;
constructor();
}
export class AppBroadcastBackgroundService {
viewerCount: Number;
streamInfo: AppBroadcastBackgroundServiceStreamInfo;
signInInfo: AppBroadcastBackgroundServiceSignInInfo;
plugInState: AppBroadcastPlugInState;
appId: String;
broadcastTitle: String;
titleId: String;
constructor();
terminateBroadcast(reason: AppBroadcastTerminationReason, providerSpecificReason: Number): void;
addListener(type: "HeartbeatRequested", listener: (ev: Event) => void): void ;
removeListener(type: "HeartbeatRequested", listener: (ev: Event) => void): void ;
on(type: "HeartbeatRequested", listener: (ev: Event) => void): void ;
off(type: "HeartbeatRequested", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppBroadcastHeartbeatRequestedEventArgs {
handled: Boolean;
constructor();
}
export class AppBroadcastStreamAudioFrame {
audioBuffer: Object;
audioHeader: AppBroadcastStreamAudioHeader;
constructor();
}
export class AppBroadcastStreamVideoFrame {
videoBuffer: Object;
videoHeader: AppBroadcastStreamVideoHeader;
constructor();
}
export class AppBroadcastStreamVideoHeader {
absoluteTimestamp: Date;
duration: Number;
frameId: Number;
hasDiscontinuity: Boolean;
isKeyFrame: Boolean;
relativeTimestamp: Number;
constructor();
}
export class AppBroadcastStreamAudioHeader {
absoluteTimestamp: Date;
duration: Number;
frameId: Number;
hasDiscontinuity: Boolean;
relativeTimestamp: Number;
constructor();
}
export class AppBroadcastTriggerDetails {
backgroundService: AppBroadcastBackgroundService;
constructor();
}
export class AppBroadcastPlugInManager {
defaultPlugIn: AppBroadcastPlugIn;
isBroadcastProviderAvailable: Boolean;
plugInList: Object;
constructor();
static getDefault(): AppBroadcastPlugInManager;
static getForUser(user: Object): AppBroadcastPlugInManager;
}
export class AppBroadcastPlugIn {
appId: String;
displayName: String;
logo: Object;
providerSettings: AppBroadcastProviderSettings;
constructor();
}
export class AppBroadcastPreview {
errorCode: Number;
previewState: AppBroadcastPreviewState;
previewStreamReader: AppBroadcastPreviewStreamReader;
constructor();
stopPreview(): void;
addListener(type: "PreviewStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "PreviewStateChanged", listener: (ev: Event) => void): void ;
on(type: "PreviewStateChanged", listener: (ev: Event) => void): void ;
off(type: "PreviewStateChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppBroadcastState {
signInState: AppBroadcastSignInState;
shouldCaptureMicrophone: Boolean;
shouldCaptureCamera: Boolean;
authenticationResult: Object;
isCaptureTargetRunning: Boolean;
microphoneCaptureError: Number;
microphoneCaptureState: AppBroadcastMicrophoneCaptureState;
oAuthCallbackUri: Object;
oAuthRequestUri: Object;
plugInState: AppBroadcastPlugInState;
cameraCaptureError: Number;
cameraCaptureState: AppBroadcastCameraCaptureState;
encodedVideoSize: Object;
streamState: AppBroadcastStreamState;
terminationReason: AppBroadcastTerminationReason;
terminationReasonPlugInSpecific: Number;
viewerCount: Number;
constructor();
restartMicrophoneCapture(): void;
restartCameraCapture(): void;
addListener(type: "CameraCaptureStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "CameraCaptureStateChanged", listener: (ev: Event) => void): void ;
on(type: "CameraCaptureStateChanged", listener: (ev: Event) => void): void ;
off(type: "CameraCaptureStateChanged", listener: (ev: Event) => void): void ;
addListener(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
removeListener(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
on(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
off(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
addListener(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
on(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
off(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
addListener(type: "PlugInStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "PlugInStateChanged", listener: (ev: Event) => void): void ;
on(type: "PlugInStateChanged", listener: (ev: Event) => void): void ;
off(type: "PlugInStateChanged", listener: (ev: Event) => void): void ;
addListener(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
on(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
off(type: "StreamStateChanged", listener: (ev: Event) => void): void ;
addListener(type: "ViewerCountChanged", listener: (ev: Event) => void): void ;
removeListener(type: "ViewerCountChanged", listener: (ev: Event) => void): void ;
on(type: "ViewerCountChanged", listener: (ev: Event) => void): void ;
off(type: "ViewerCountChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppBroadcastViewerCountChangedEventArgs {
viewerCount: Number;
constructor();
}
export class AppBroadcastMicrophoneCaptureStateChangedEventArgs {
errorCode: Number;
state: AppBroadcastMicrophoneCaptureState;
constructor();
}
export class AppBroadcastCameraCaptureStateChangedEventArgs {
errorCode: Number;
state: AppBroadcastCameraCaptureState;
constructor();
}
export class AppBroadcastPlugInStateChangedEventArgs {
plugInState: AppBroadcastPlugInState;
constructor();
}
export class AppBroadcastPreviewStateChangedEventArgs {
errorCode: Number;
previewState: AppBroadcastPreviewState;
constructor();
}
export class AppBroadcastPreviewStreamReader {
videoBitmapAlphaMode: Number;
videoBitmapPixelFormat: Number;
videoHeight: Number;
videoStride: Number;
videoWidth: Number;
constructor();
tryGetNextVideoFrame(): AppBroadcastPreviewStreamVideoFrame;
addListener(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
removeListener(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
on(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
off(type: "VideoFrameArrived", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppBroadcastPreviewStreamVideoFrame {
videoBuffer: Object;
videoHeader: AppBroadcastPreviewStreamVideoHeader;
constructor();
}
export class AppBroadcastPreviewStreamVideoHeader {
absoluteTimestamp: Date;
duration: Number;
frameId: Number;
relativeTimestamp: Number;
constructor();
}
export class AppBroadcastServices {
captureTargetType: AppBroadcastCaptureTargetType;
broadcastTitle: String;
broadcastLanguage: String;
canCapture: Boolean;
state: AppBroadcastState;
userName: String;
constructor();
enterBroadcastModeAsync(plugIn: AppBroadcastPlugIn, callback: (error: Error, result: Number) => void): void ;
exitBroadcastMode(reason: AppBroadcastExitBroadcastModeReason): void;
startBroadcast(): void;
pauseBroadcast(): void;
resumeBroadcast(): void;
startPreview(desiredSize: Object): AppBroadcastPreview;
}
export class AppCaptureSettings {
isHistoricalCaptureOnWirelessDisplayAllowed: Boolean;
videoEncodingBitrateMode: AppCaptureVideoEncodingBitrateMode;
isHistoricalCaptureOnBatteryAllowed: Boolean;
isAudioCaptureEnabled: Boolean;
isAppCaptureEnabled: Boolean;
appCaptureDestinationFolder: Object;
historicalBufferLength: Number;
isHistoricalCaptureEnabled: Boolean;
customVideoEncodingWidth: Number;
customVideoEncodingHeight: Number;
customVideoEncodingBitrate: Number;
audioEncodingBitrate: Number;
historicalBufferLengthUnit: AppCaptureHistoricalBufferLengthUnit;
videoEncodingResolutionMode: AppCaptureVideoEncodingResolutionMode;
screenshotDestinationFolder: Object;
maximumRecordLength: Number;
hasHardwareEncoder: Boolean;
isCpuConstrained: Boolean;
isMemoryConstrained: Boolean;
isDisabledByPolicy: Boolean;
alternateShortcutKeys: AppCaptureAlternateShortcutKeys;
isGpuConstrained: Boolean;
isMicrophoneCaptureEnabled: Boolean;
videoEncodingFrameRateMode: AppCaptureVideoEncodingFrameRateMode;
systemAudioGain: Number;
microphoneGain: Number;
isMicrophoneCaptureEnabledByDefault: Boolean;
isEchoCancellationEnabled: Boolean;
isCursorImageCaptureEnabled: Boolean;
constructor();
}
export class AppCaptureAlternateShortcutKeys {
toggleRecordingKeyModifiers: Number;
toggleRecordingKey: Number;
toggleRecordingIndicatorKeyModifiers: Number;
toggleRecordingIndicatorKey: Number;
toggleGameBarKeyModifiers: Number;
toggleGameBarKey: Number;
takeScreenshotKeyModifiers: Number;
takeScreenshotKey: Number;
saveHistoricalVideoKeyModifiers: Number;
saveHistoricalVideoKey: Number;
toggleMicrophoneCaptureKeyModifiers: Number;
toggleMicrophoneCaptureKey: Number;
toggleCameraCaptureKeyModifiers: Number;
toggleCameraCaptureKey: Number;
toggleBroadcastKeyModifiers: Number;
toggleBroadcastKey: Number;
constructor();
}
export class AppCaptureManager {
constructor();
static getCurrentSettings(): AppCaptureSettings;
static applySettings(appCaptureSettings: AppCaptureSettings): void;
}
export class AppCaptureRecordOperation {
duration: Number;
errorCode: Number;
file: Object;
isFileTruncated: Boolean;
state: AppCaptureRecordingState;
constructor();
stopRecording(): void;
addListener(type: "DurationGenerated", listener: (ev: Event) => void): void ;
removeListener(type: "DurationGenerated", listener: (ev: Event) => void): void ;
on(type: "DurationGenerated", listener: (ev: Event) => void): void ;
off(type: "DurationGenerated", listener: (ev: Event) => void): void ;
addListener(type: "FileGenerated", listener: (ev: Event) => void): void ;
removeListener(type: "FileGenerated", listener: (ev: Event) => void): void ;
on(type: "FileGenerated", listener: (ev: Event) => void): void ;
off(type: "FileGenerated", listener: (ev: Event) => void): void ;
addListener(type: "StateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "StateChanged", listener: (ev: Event) => void): void ;
on(type: "StateChanged", listener: (ev: Event) => void): void ;
off(type: "StateChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppCaptureState {
shouldCaptureMicrophone: Boolean;
isHistoricalCaptureEnabled: Boolean;
isTargetRunning: Boolean;
microphoneCaptureError: Number;
microphoneCaptureState: AppCaptureMicrophoneCaptureState;
constructor();
restartMicrophoneCapture(): void;
addListener(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
removeListener(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
on(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
off(type: "CaptureTargetClosed", listener: (ev: Event) => void): void ;
addListener(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
on(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
off(type: "MicrophoneCaptureStateChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AppCaptureMicrophoneCaptureStateChangedEventArgs {
errorCode: Number;
state: AppCaptureMicrophoneCaptureState;
constructor();
}
export class AppCaptureRecordingStateChangedEventArgs {
errorCode: Number;
state: AppCaptureRecordingState;
constructor();
}
export class AppCaptureDurationGeneratedEventArgs {
duration: Number;
constructor();
}
export class AppCaptureFileGeneratedEventArgs {
file: Object;
constructor();
}
export class AppCaptureServices {
canCapture: Boolean;
state: AppCaptureState;
constructor();
record(): AppCaptureRecordOperation;
recordTimeSpan(startTime: Date, duration: Number): AppCaptureRecordOperation;
}
export class CameraOptionsUI {
constructor();
static show(mediaCapture: MediaCapture): void;
}
export class GameBarServicesManager {
constructor();
static getDefault(): GameBarServicesManager;
addListener(type: "GameBarServicesCreated", listener: (ev: Event) => void): void ;
removeListener(type: "GameBarServicesCreated", listener: (ev: Event) => void): void ;
on(type: "GameBarServicesCreated", listener: (ev: Event) => void): void ;
off(type: "GameBarServicesCreated", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class GameBarServicesManagerGameBarServicesCreatedEventArgs {
gameBarServices: GameBarServices;
constructor();
}
export class GameBarServices {
appBroadcastServices: AppBroadcastServices;
appCaptureServices: AppCaptureServices;
sessionId: String;
targetCapturePolicy: GameBarTargetCapturePolicy;
targetInfo: GameBarServicesTargetInfo;
constructor();
enableCapture(): void;
disableCapture(): void;
addListener(type: "CommandReceived", listener: (ev: Event) => void): void ;
removeListener(type: "CommandReceived", listener: (ev: Event) => void): void ;
on(type: "CommandReceived", listener: (ev: Event) => void): void ;
off(type: "CommandReceived", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class GameBarServicesTargetInfo {
appId: String;
displayMode: GameBarServicesDisplayMode;
displayName: String;
titleId: String;
constructor();
}
export class GameBarServicesCommandEventArgs {
command: GameBarCommand;
origin: GameBarCommandOrigin;
constructor();
}
export class ScreenCapture {
audioSource: Object;
isAudioSuspended: Boolean;
isVideoSuspended: Boolean;
videoSource: Object;
constructor();
static getForCurrentView(): ScreenCapture;
addListener(type: "SourceSuspensionChanged", listener: (ev: Event) => void): void ;
removeListener(type: "SourceSuspensionChanged", listener: (ev: Event) => void): void ;
on(type: "SourceSuspensionChanged", listener: (ev: Event) => void): void ;
off(type: "SourceSuspensionChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class SourceSuspensionChangedEventArgs {
isAudioSuspended: Boolean;
isVideoSuspended: Boolean;
constructor();
}
}