15906 строки
516 KiB
C#
15906 строки
516 KiB
C#
//
|
|
// AVFoundation.cs: This file describes the API that the generator will produce for AVFoundation
|
|
//
|
|
// Authors:
|
|
// Miguel de Icaza
|
|
// Marek Safar (marek.safar@gmail.com)
|
|
//
|
|
// Copyright 2009, Novell, Inc.
|
|
// Copyright 2010, Novell, Inc.
|
|
// Copyright 2011-2015, Xamarin, Inc.
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining
|
|
// a copy of this software and associated documentation files (the
|
|
// "Software"), to deal in the Software without restriction, including
|
|
// without limitation the rights to use, copy, modify, merge, publish,
|
|
// distribute, sublicense, and/or sell copies of the Software, and to
|
|
// permit persons to whom the Software is furnished to do so, subject to
|
|
// the following conditions:
|
|
//
|
|
// The above copyright notice and this permission notice shall be
|
|
// included in all copies or substantial portions of the Software.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
//
|
|
|
|
using System.ComponentModel;
|
|
|
|
#if NET
|
|
using Vector3 = global::System.Numerics.Vector3;
|
|
using NMatrix3 = global::CoreGraphics.NMatrix3;
|
|
using NMatrix4x3 = global::CoreGraphics.NMatrix4x3;
|
|
#else
|
|
using Vector3 = global::OpenTK.Vector3;
|
|
using NMatrix3 = global::OpenTK.NMatrix3;
|
|
using NMatrix4x3 = global::OpenTK.NMatrix4x3;
|
|
#endif
|
|
|
|
#if !WATCH
|
|
using AudioUnit;
|
|
using AVKit;
|
|
using CoreAnimation;
|
|
using CoreImage;
|
|
using MediaToolbox;
|
|
#else
|
|
// hack: ease compilation without extra defines
|
|
using CIBarcodeDescriptor = Foundation.NSObject;
|
|
#endif
|
|
using AudioToolbox;
|
|
using CoreMedia;
|
|
using ObjCRuntime;
|
|
using Foundation;
|
|
using CoreFoundation;
|
|
using CoreGraphics;
|
|
using CoreVideo;
|
|
using UniformTypeIdentifiers;
|
|
using ImageIO;
|
|
using System;
|
|
|
|
#if MONOMAC
|
|
using AppKit;
|
|
using UIImage = AppKit.NSImage;
|
|
#else
|
|
using UIKit;
|
|
using AVSampleCursorChunkInfo = Foundation.NSObject;
|
|
using AVSampleCursorStorageRange = Foundation.NSObject;
|
|
using AVSampleCursorSyncInfo = Foundation.NSObject;
|
|
#endif
|
|
|
|
#if !NET
|
|
using NativeHandle = System.IntPtr;
|
|
#endif
|
|
|
|
#if WATCH
|
|
using AVCaptureWhiteBalanceGains = Foundation.NSString;
|
|
// stubs to ease compilation using [NoWatch]
|
|
namespace AudioUnit {
|
|
interface AudioUnit {}
|
|
}
|
|
#endif
|
|
|
|
namespace AVFoundation {
|
|
|
|
#if WATCH
|
|
// stubs to ease compilation using [NoWatch]
|
|
interface AudioComponent {}
|
|
interface AudioComponentDescription {}
|
|
interface AudioComponentInstantiationOptions {}
|
|
interface MusicSequence {}
|
|
interface AVInterstitialTimeRange {}
|
|
interface AVNavigationMarkersGroup {}
|
|
interface AVVideoSettingsCompressed {}
|
|
interface AVVideoSettingsUncompressed {}
|
|
interface AUAudioUnit {}
|
|
interface CALayer {}
|
|
interface CIContext {}
|
|
interface CIImage {}
|
|
interface CVPixelBufferAttributes {}
|
|
interface CVPixelBufferPool {}
|
|
interface MTAudioProcessingTap {}
|
|
#endif
|
|
|
|
delegate void AVAssetImageGeneratorCompletionHandler (CMTime requestedTime, IntPtr imageRef, CMTime actualTime, AVAssetImageGeneratorResult result, NSError error);
|
|
delegate void AVCompletion (bool finished);
|
|
delegate void AVRequestAccessStatus (bool accessGranted);
|
|
delegate AVAudioBuffer AVAudioConverterInputHandler (uint inNumberOfPackets, out AVAudioConverterInputStatus outStatus);
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Mac (10, 9)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAsynchronousVideoCompositionRequest : NSCopying {
|
|
[Export ("renderContext", ArgumentSemantic.Copy)]
|
|
AVVideoCompositionRenderContext RenderContext { get; }
|
|
|
|
[Export ("compositionTime", ArgumentSemantic.Copy)]
|
|
CMTime CompositionTime { get; }
|
|
|
|
[Export ("sourceTrackIDs")]
|
|
NSNumber [] SourceTrackIDs { get; }
|
|
|
|
[Export ("videoCompositionInstruction", ArgumentSemantic.Copy)]
|
|
AVVideoCompositionInstruction VideoCompositionInstruction { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Export ("sourceFrameByTrackID:")]
|
|
CVPixelBuffer SourceFrameByTrackID (int /* CMPersistentTrackID = int32_t */ trackID);
|
|
|
|
[Export ("finishWithComposedVideoFrame:")]
|
|
void FinishWithComposedVideoFrame (CVPixelBuffer composedVideoFrame);
|
|
|
|
[Export ("finishWithError:")]
|
|
void FinishWithError (NSError error);
|
|
|
|
[Export ("finishCancelledRequest")]
|
|
void FinishCancelledRequest ();
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("sourceSampleBufferByTrackID:")]
|
|
[return: NullAllowed]
|
|
CMSampleBuffer GetSourceSampleBuffer (int trackId);
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("sourceTimedMetadataByTrackID:")]
|
|
[return: NullAllowed]
|
|
AVTimedMetadataGroup GetSourceTimedMetadata (int trackId);
|
|
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("sourceSampleDataTrackIDs")]
|
|
[BindAs (typeof (int[]))]
|
|
NSNumber[] SourceSampleDataTrackIds { get; }
|
|
}
|
|
|
|
// values are manually given since not some are platform specific
|
|
[Watch (6,0)]
|
|
enum AVMediaTypes {
|
|
[Field ("AVMediaTypeVideo")]
|
|
Video = 0,
|
|
|
|
[Field ("AVMediaTypeAudio")]
|
|
Audio = 1,
|
|
|
|
[Field ("AVMediaTypeText")]
|
|
Text = 2,
|
|
|
|
[Field ("AVMediaTypeClosedCaption")]
|
|
ClosedCaption = 3,
|
|
|
|
[Field ("AVMediaTypeSubtitle")]
|
|
Subtitle = 4,
|
|
|
|
[Field ("AVMediaTypeTimecode")]
|
|
Timecode = 5,
|
|
|
|
#if !NET
|
|
[NoTV, NoWatch]
|
|
[Obsoleted (PlatformName.iOS, 6,0)]
|
|
[Deprecated (PlatformName.iOS, 12,0, message: "Always 'null'.")]
|
|
[Obsoleted (PlatformName.MacOSX, 10,8)]
|
|
[Deprecated (PlatformName.MacOSX, 10,14, message: "Always 'null'.")]
|
|
[NoMacCatalyst]
|
|
[Field ("AVMediaTypeTimedMetadata")] // last header where I can find this: iOS 5.1 SDK, 10.7 only on Mac
|
|
TimedMetadata = 6,
|
|
#endif
|
|
|
|
[Field ("AVMediaTypeMuxed")]
|
|
Muxed = 7,
|
|
|
|
[iOS (9,0)][NoMac][NoWatch]
|
|
[Field ("AVMediaTypeMetadataObject")]
|
|
MetadataObject = 8,
|
|
|
|
[Field ("AVMediaTypeMetadata")]
|
|
Metadata = 9,
|
|
|
|
[iOS (11, 0), Mac (10, 13), NoWatch]
|
|
[TV (11, 0)]
|
|
[Field ("AVMediaTypeDepthData")]
|
|
DepthData = 10,
|
|
}
|
|
|
|
#if !NET
|
|
[Obsolete ("Use AVMediaTypes enum values")]
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))][Static]
|
|
interface AVMediaType {
|
|
[Field ("AVMediaTypeVideo")]
|
|
NSString Video { get; }
|
|
|
|
[Field ("AVMediaTypeAudio")]
|
|
NSString Audio { get; }
|
|
|
|
[Field ("AVMediaTypeText")]
|
|
NSString Text { get; }
|
|
|
|
[Field ("AVMediaTypeClosedCaption")]
|
|
NSString ClosedCaption { get; }
|
|
|
|
[Field ("AVMediaTypeSubtitle")]
|
|
NSString Subtitle { get; }
|
|
|
|
[Field ("AVMediaTypeTimecode")]
|
|
NSString Timecode { get; }
|
|
|
|
[NoTV][NoWatch]
|
|
[Field ("AVMediaTypeTimedMetadata")] // last header where I can find this: iOS 5.1 SDK, 10.7 only on Mac
|
|
[Deprecated (PlatformName.iOS, 12,0, message: "Always 'null'.")]
|
|
[Obsoleted (PlatformName.iOS, 6,0, message: "Always 'null'.")]
|
|
[Obsoleted (PlatformName.MacOSX, 10, 8, message: "Always 'null'.")]
|
|
[NoMacCatalyst]
|
|
NSString TimedMetadata { get; }
|
|
|
|
[Field ("AVMediaTypeMuxed")]
|
|
NSString Muxed { get; }
|
|
|
|
[iOS (9,0)][NoMac]
|
|
[Field ("AVMediaTypeMetadataObject")]
|
|
NSString MetadataObject { get; }
|
|
|
|
[Field ("AVMediaTypeMetadata")]
|
|
NSString Metadata { get; }
|
|
}
|
|
#endif // !NET
|
|
|
|
[Watch (6,0)]
|
|
[iOS (9,0), Mac(10,11)]
|
|
[BaseType (typeof(AVMetadataGroup))]
|
|
interface AVDateRangeMetadataGroup : NSCopying, NSMutableCopying
|
|
{
|
|
[Export ("initWithItems:startDate:endDate:")]
|
|
NativeHandle Constructor (AVMetadataItem[] items, NSDate startDate, [NullAllowed] NSDate endDate);
|
|
|
|
[Export ("startDate", ArgumentSemantic.Copy)]
|
|
NSDate StartDate { get; [NotImplemented] set; }
|
|
|
|
[NullAllowed, Export ("endDate", ArgumentSemantic.Copy)]
|
|
NSDate EndDate { get; [NotImplemented] set; }
|
|
|
|
[Export ("items", ArgumentSemantic.Copy)]
|
|
AVMetadataItem[] Items { get; [NotImplemented] set; }
|
|
}
|
|
|
|
[iOS (9,0), Mac (10,11), Watch (6,0)]
|
|
[BaseType (typeof(AVDateRangeMetadataGroup))]
|
|
interface AVMutableDateRangeMetadataGroup
|
|
{
|
|
[Export ("startDate", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSDate StartDate { get; set; }
|
|
|
|
[NullAllowed, Export ("endDate", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSDate EndDate { get; set; }
|
|
|
|
[Export ("items", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
AVMetadataItem[] Items { get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[TV (11,0), NoWatch, iOS (11,0), Mac (10, 13)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVDepthData {
|
|
[Static]
|
|
[Export ("depthDataFromDictionaryRepresentation:error:")]
|
|
[return: NullAllowed]
|
|
AVDepthData Create (NSDictionary imageSourceAuxDataInfoDictionary, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("depthDataByConvertingToDepthDataType:")]
|
|
AVDepthData ConvertToDepthDataType (CVPixelFormatType depthDataType);
|
|
|
|
[Export ("depthDataByApplyingExifOrientation:")]
|
|
AVDepthData ApplyExifOrientation (CGImagePropertyOrientation exifOrientation);
|
|
|
|
[Export ("depthDataByReplacingDepthDataMapWithPixelBuffer:error:")]
|
|
[return: NullAllowed]
|
|
AVDepthData ReplaceDepthDataMap (CVPixelBuffer pixelBuffer, [NullAllowed] out NSError outError);
|
|
|
|
[Protected]
|
|
[Export ("availableDepthDataTypes")]
|
|
NSNumber[] WeakAvailableDepthDataTypes { get; }
|
|
|
|
[Export ("dictionaryRepresentationForAuxiliaryDataType:")]
|
|
[return: NullAllowed]
|
|
NSDictionary GetDictionaryRepresentation ([NullAllowed] out string outAuxDataType);
|
|
|
|
[Export ("depthDataType")]
|
|
CVPixelFormatType DepthDataType { get; }
|
|
|
|
[Export ("depthDataMap")]
|
|
CVPixelBuffer DepthDataMap { get; }
|
|
|
|
[Export ("depthDataFiltered")]
|
|
bool IsDepthDataFiltered { [Bind ("isDepthDataFiltered")] get; }
|
|
|
|
[Export ("depthDataAccuracy")]
|
|
AVDepthDataAccuracy DepthDataAccuracy { get; }
|
|
|
|
[NullAllowed, Export ("cameraCalibrationData")]
|
|
AVCameraCalibrationData CameraCalibrationData { get; }
|
|
|
|
[Export ("depthDataQuality")]
|
|
AVDepthDataQuality DepthDataQuality { get; }
|
|
}
|
|
|
|
// values are manually given since not some are platform specific
|
|
[Watch (6,0)]
|
|
enum AVMediaCharacteristics {
|
|
[Field ("AVMediaCharacteristicVisual")]
|
|
Visual = 0,
|
|
|
|
[Field ("AVMediaCharacteristicAudible")]
|
|
Audible = 1,
|
|
|
|
[Field ("AVMediaCharacteristicLegible")]
|
|
Legible = 2,
|
|
|
|
[Field ("AVMediaCharacteristicFrameBased")]
|
|
FrameBased = 3,
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVMediaCharacteristicUsesWideGamutColorSpace")]
|
|
UsesWideGamutColorSpace = 4,
|
|
|
|
[Field ("AVMediaCharacteristicIsMainProgramContent")]
|
|
IsMainProgramContent = 5,
|
|
|
|
[Field ("AVMediaCharacteristicIsAuxiliaryContent")]
|
|
IsAuxiliaryContent = 6,
|
|
|
|
[Field ("AVMediaCharacteristicContainsOnlyForcedSubtitles")]
|
|
ContainsOnlyForcedSubtitles = 7,
|
|
|
|
[Field ("AVMediaCharacteristicTranscribesSpokenDialogForAccessibility")]
|
|
TranscribesSpokenDialogForAccessibility = 8,
|
|
|
|
[Field ("AVMediaCharacteristicDescribesMusicAndSoundForAccessibility")]
|
|
DescribesMusicAndSoundForAccessibility = 9,
|
|
|
|
[Field ("AVMediaCharacteristicDescribesVideoForAccessibility")]
|
|
DescribesVideoForAccessibility = 10,
|
|
|
|
[NoMac]
|
|
[Field ("AVMediaCharacteristicEasyToRead")]
|
|
EasyToRead = 11,
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMediaCharacteristicLanguageTranslation")]
|
|
LanguageTranslation = 12,
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMediaCharacteristicDubbedTranslation")]
|
|
DubbedTranslation = 13,
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMediaCharacteristicVoiceOverTranslation")]
|
|
VoiceOverTranslation = 14,
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Field ("AVMediaCharacteristicIsOriginalContent")]
|
|
IsOriginalContent = 15,
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMediaCharacteristicContainsHDRVideo")]
|
|
ContainsHdrVideo = 16,
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Field ("AVMediaCharacteristicContainsAlphaChannel")]
|
|
ContainsAlphaChannel = 17,
|
|
|
|
}
|
|
|
|
#if !NET
|
|
[NoWatch]
|
|
[Obsolete ("Use AVMediaCharacteristics enum values")]
|
|
[BaseType (typeof (NSObject))][Static]
|
|
interface AVMediaCharacteristic {
|
|
[Field ("AVMediaCharacteristicVisual")]
|
|
NSString Visual { get; }
|
|
|
|
[Field ("AVMediaCharacteristicAudible")]
|
|
NSString Audible { get; }
|
|
|
|
[Field ("AVMediaCharacteristicLegible")]
|
|
NSString Legible { get; }
|
|
|
|
[Field ("AVMediaCharacteristicFrameBased")]
|
|
NSString FrameBased { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVMediaCharacteristicUsesWideGamutColorSpace")]
|
|
NSString UsesWideGamutColorSpace { get; }
|
|
|
|
[Field ("AVMediaCharacteristicIsMainProgramContent")]
|
|
NSString IsMainProgramContent { get; }
|
|
|
|
[Field ("AVMediaCharacteristicIsAuxiliaryContent")]
|
|
NSString IsAuxiliaryContent { get; }
|
|
|
|
[Field ("AVMediaCharacteristicContainsOnlyForcedSubtitles")]
|
|
NSString ContainsOnlyForcedSubtitles { get; }
|
|
|
|
[Field ("AVMediaCharacteristicTranscribesSpokenDialogForAccessibility")]
|
|
NSString TranscribesSpokenDialogForAccessibility { get; }
|
|
|
|
[Field ("AVMediaCharacteristicDescribesMusicAndSoundForAccessibility")]
|
|
NSString DescribesMusicAndSoundForAccessibility { get; }
|
|
|
|
[Field ("AVMediaCharacteristicDescribesVideoForAccessibility")]
|
|
NSString DescribesVideoForAccessibility { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVMediaCharacteristicEasyToRead")]
|
|
NSString EasyToRead { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMediaCharacteristicLanguageTranslation")]
|
|
NSString LanguageTranslation { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMediaCharacteristicDubbedTranslation")]
|
|
NSString DubbedTranslation { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMediaCharacteristicVoiceOverTranslation")]
|
|
NSString VoiceOverTranslation { get; }
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Field ("AVMediaCharacteristicIsOriginalContent")]
|
|
NSString IsOriginalContent { get; }
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Field ("AVMediaCharacteristicContainsAlphaChannel")]
|
|
NSString ContainsAlphaChannel { get; }
|
|
|
|
// Do not add more fields here, add them to the AVMediaCharacteristics enum instead.
|
|
}
|
|
#endif
|
|
|
|
[Watch (6,0)]
|
|
enum AVMetadataFormat {
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataFormatHLSMetadata")]
|
|
FormatHlsMetadata = 0,
|
|
|
|
[Field ("AVMetadataFormatiTunesMetadata")]
|
|
FormatiTunesMetadata = 1,
|
|
|
|
[Field ("AVMetadataFormatID3Metadata")]
|
|
FormatID3Metadata = 2,
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadataFormatISOUserData")]
|
|
FormatISOUserData = 3,
|
|
|
|
[Field ("AVMetadataFormatQuickTimeUserData")]
|
|
FormatQuickTimeUserData = 4,
|
|
|
|
[iOS (11,0), Mac (10,13), TV (11,0)]
|
|
[Field ("AVMetadataFormatUnknown")]
|
|
Unknown = 5,
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
enum AVFileTypes {
|
|
[Field ("AVFileTypeQuickTimeMovie")]
|
|
QuickTimeMovie = 0,
|
|
|
|
[Field ("AVFileTypeMPEG4")]
|
|
Mpeg4 = 1,
|
|
|
|
[Field ("AVFileTypeAppleM4V")]
|
|
AppleM4V = 2,
|
|
|
|
[Mac (10,11)]
|
|
[Field ("AVFileType3GPP")]
|
|
ThreeGpp = 3,
|
|
|
|
[Field ("AVFileTypeAppleM4A")]
|
|
AppleM4a = 4,
|
|
|
|
[Field ("AVFileTypeCoreAudioFormat")]
|
|
CoreAudioFormat = 5,
|
|
|
|
[Field ("AVFileTypeWAVE")]
|
|
Wave = 6,
|
|
|
|
[Field ("AVFileTypeAIFF")]
|
|
Aiff = 7,
|
|
|
|
[Field ("AVFileTypeAIFC")]
|
|
Aifc = 8,
|
|
|
|
[Field ("AVFileTypeAMR")]
|
|
Amr = 9,
|
|
|
|
[iOS (7,0), Mac (10,11)]
|
|
[Field ("AVFileType3GPP2")]
|
|
ThreeGpp2 = 10,
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVFileTypeMPEGLayer3")]
|
|
MpegLayer3 = 11,
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVFileTypeSunAU")]
|
|
SunAU = 12,
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVFileTypeAC3")]
|
|
AC3 = 13,
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVFileTypeEnhancedAC3")]
|
|
EnhancedAC3 = 14,
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVFileTypeJPEG")]
|
|
Jpeg = 15,
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVFileTypeDNG")]
|
|
Dng = 16,
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVFileTypeHEIC")]
|
|
Heic = 17,
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVFileTypeAVCI")]
|
|
Avci = 18,
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVFileTypeHEIF")]
|
|
Heif = 19,
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVFileTypeTIFF")]
|
|
Tiff = 20,
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12, 0), NoMacCatalyst]
|
|
[Field ("AVFileTypeAppleiTT")]
|
|
AppleiTT = 21,
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12, 0), NoMacCatalyst]
|
|
[Field ("AVFileTypeSCC")]
|
|
Scc = 22,
|
|
}
|
|
|
|
#if !NET
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))][Static]
|
|
[Obsolete ("Use AVFileTypes enum values")]
|
|
interface AVFileType {
|
|
[Field ("AVFileTypeQuickTimeMovie")]
|
|
NSString QuickTimeMovie { get; }
|
|
|
|
[Field ("AVFileTypeMPEG4")]
|
|
NSString Mpeg4 { get; }
|
|
|
|
[Field ("AVFileTypeAppleM4V")]
|
|
NSString AppleM4V { get; }
|
|
[Mac (10,11)]
|
|
[Field ("AVFileType3GPP")]
|
|
NSString ThreeGpp { get; }
|
|
|
|
[Field ("AVFileTypeAppleM4A")]
|
|
NSString AppleM4A { get; }
|
|
|
|
[Field ("AVFileTypeCoreAudioFormat")]
|
|
NSString CoreAudioFormat { get; }
|
|
|
|
[Field ("AVFileTypeWAVE")]
|
|
NSString Wave { get; }
|
|
|
|
[Field ("AVFileTypeAIFF")]
|
|
NSString Aiff { get; }
|
|
|
|
[Field ("AVFileTypeAIFC")]
|
|
NSString Aifc { get; }
|
|
|
|
[Field ("AVFileTypeAMR")]
|
|
NSString Amr { get; }
|
|
|
|
[iOS (7,0), Mac (10,11)]
|
|
[Field ("AVFileType3GPP2")]
|
|
NSString ThreeGpp2 { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVFileTypeMPEGLayer3")]
|
|
NSString MpegLayer3 { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVFileTypeSunAU")]
|
|
NSString SunAU { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVFileTypeAC3")]
|
|
NSString AC3 { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVFileTypeEnhancedAC3")]
|
|
NSString EnhancedAC3 { get; }
|
|
}
|
|
#endif
|
|
|
|
[iOS (9,0), Mac (10,11), Watch (6,0)]
|
|
[Static]
|
|
interface AVStreamingKeyDelivery {
|
|
|
|
[Field ("AVStreamingKeyDeliveryContentKeyType")]
|
|
NSString ContentKeyType { get; }
|
|
|
|
[Field ("AVStreamingKeyDeliveryPersistentContentKeyType")]
|
|
NSString PersistentContentKeyType { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[iOS (7,0)] // And OSX 10.7
|
|
[DisableDefaultCtor] // crash -> immutable and you can get them but not set them (i.e. no point in creating them)
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVFrameRateRange {
|
|
|
|
[Export ("minFrameRate")]
|
|
double MinFrameRate { get; }
|
|
|
|
[Export ("maxFrameRate")]
|
|
double MaxFrameRate { get; }
|
|
|
|
[Export ("maxFrameDuration", ArgumentSemantic.Copy)]
|
|
CMTime MaxFrameDuration { get; }
|
|
|
|
[Export ("minFrameDuration", ArgumentSemantic.Copy)]
|
|
CMTime MinFrameDuration { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))][Static]
|
|
interface AVVideo {
|
|
[Field ("AVVideoCodecKey")]
|
|
NSString CodecKey { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVVideoMaxKeyFrameIntervalDurationKey")]
|
|
NSString MaxKeyFrameIntervalDurationKey { get; }
|
|
|
|
[Watch (7,2), TV (14,3), Mac (11,1), iOS (14,3)]
|
|
[Field ("AVVideoAppleProRAWBitDepthKey")]
|
|
NSString AppleProRawBitDepthKey { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVVideoAllowFrameReorderingKey")]
|
|
NSString AllowFrameReorderingKey { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVVideoAverageNonDroppableFrameRateKey")]
|
|
NSString AverageNonDroppableFrameRateKey { get; }
|
|
|
|
[NoiOS, NoTV]
|
|
[Mac (10,10), NoMacCatalyst]
|
|
[Field ("AVVideoEncoderSpecificationKey")]
|
|
NSString EncoderSpecificationKey { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVVideoExpectedSourceFrameRateKey")]
|
|
NSString ExpectedSourceFrameRateKey { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVVideoH264EntropyModeCABAC")]
|
|
NSString H264EntropyModeCABAC { get; }
|
|
|
|
[iOS (7, 0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVVideoH264EntropyModeCAVLC")]
|
|
NSString H264EntropyModeCAVLC { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVVideoH264EntropyModeKey")]
|
|
NSString H264EntropyModeKey { get; }
|
|
|
|
[TV (9, 0)]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Deprecated (PlatformName.TvOS, 11, 0, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Field ("AVVideoCodecH264")]
|
|
NSString CodecH264 { get; }
|
|
|
|
[TV (9, 0)]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Deprecated (PlatformName.TvOS, 11, 0, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Field ("AVVideoCodecJPEG")]
|
|
NSString CodecJPEG { get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 11, 0, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[Deprecated (PlatformName.TvOS, 11, 0, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[NoiOS, NoTV]
|
|
[Field ("AVVideoCodecAppleProRes4444")]
|
|
NSString AppleProRes4444 { get; }
|
|
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message : "Use 'AVVideoCodecType' enum instead.")]
|
|
[NoiOS, NoTV]
|
|
[Field ("AVVideoCodecAppleProRes422")]
|
|
NSString AppleProRes422 { get; }
|
|
|
|
[Field ("AVVideoWidthKey")]
|
|
NSString WidthKey { get; }
|
|
|
|
[Field ("AVVideoHeightKey")]
|
|
NSString HeightKey { get; }
|
|
|
|
[Field ("AVVideoScalingModeKey")]
|
|
NSString ScalingModeKey { get; }
|
|
|
|
[Field ("AVVideoCompressionPropertiesKey")]
|
|
NSString CompressionPropertiesKey { get; }
|
|
|
|
[Field ("AVVideoAverageBitRateKey")]
|
|
NSString AverageBitRateKey { get; }
|
|
|
|
[Field ("AVVideoMaxKeyFrameIntervalKey")]
|
|
NSString MaxKeyFrameIntervalKey { get; }
|
|
|
|
[Field ("AVVideoProfileLevelKey")]
|
|
NSString ProfileLevelKey { get; }
|
|
|
|
[Field ("AVVideoQualityKey")]
|
|
NSString QualityKey { get; }
|
|
|
|
[Field ("AVVideoProfileLevelH264Baseline30")]
|
|
NSString ProfileLevelH264Baseline30 { get; }
|
|
|
|
[Field ("AVVideoProfileLevelH264Baseline31")]
|
|
NSString ProfileLevelH264Baseline31 { get; }
|
|
|
|
[Field ("AVVideoProfileLevelH264Main30")]
|
|
NSString ProfileLevelH264Main30 { get; }
|
|
|
|
[Field ("AVVideoProfileLevelH264Main31")]
|
|
NSString ProfileLevelH264Main31 { get; }
|
|
|
|
[Field ("AVVideoProfileLevelH264Baseline41")]
|
|
NSString ProfileLevelH264Baseline41 { get; }
|
|
|
|
[Field ("AVVideoProfileLevelH264Main32")]
|
|
NSString ProfileLevelH264Main32 { get; }
|
|
|
|
[Field ("AVVideoProfileLevelH264Main41")]
|
|
NSString ProfileLevelH264Main41 { get; }
|
|
|
|
[Mac (10, 9)]
|
|
[Field ("AVVideoProfileLevelH264High40")]
|
|
NSString ProfileLevelH264High40 { get; }
|
|
|
|
[Mac (10, 9)]
|
|
[Field ("AVVideoProfileLevelH264High41")]
|
|
NSString ProfileLevelH264High41 { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVVideoProfileLevelH264BaselineAutoLevel")]
|
|
NSString ProfileLevelH264BaselineAutoLevel { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVVideoProfileLevelH264MainAutoLevel")]
|
|
NSString ProfileLevelH264MainAutoLevel { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVVideoProfileLevelH264HighAutoLevel")]
|
|
NSString ProfileLevelH264HighAutoLevel { get; }
|
|
|
|
[Field ("AVVideoPixelAspectRatioKey")]
|
|
NSString PixelAspectRatioKey { get; }
|
|
|
|
[Field ("AVVideoPixelAspectRatioHorizontalSpacingKey")]
|
|
NSString PixelAspectRatioHorizontalSpacingKey { get; }
|
|
|
|
[Field ("AVVideoPixelAspectRatioVerticalSpacingKey")]
|
|
NSString PixelAspectRatioVerticalSpacingKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureKey")]
|
|
NSString CleanApertureKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureWidthKey")]
|
|
NSString CleanApertureWidthKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureHeightKey")]
|
|
NSString CleanApertureHeightKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureHorizontalOffsetKey")]
|
|
NSString CleanApertureHorizontalOffsetKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureVerticalOffsetKey")]
|
|
NSString CleanApertureVerticalOffsetKey { get; }
|
|
|
|
}
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
interface AVVideoScalingModeKey
|
|
{
|
|
[Field ("AVVideoScalingModeFit")]
|
|
NSString Fit { get; }
|
|
|
|
[Field ("AVVideoScalingModeResize")]
|
|
NSString Resize { get; }
|
|
|
|
[Field ("AVVideoScalingModeResizeAspect")]
|
|
NSString ResizeAspect { get; }
|
|
|
|
[Field ("AVVideoScalingModeResizeAspectFill")]
|
|
NSString ResizeAspectFill { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // `init` crash in tests - it may be a bug or this is an abstract class (doc not helpful)
|
|
interface AVAudioBuffer : NSCopying, NSMutableCopying {
|
|
[Export ("format")]
|
|
AVAudioFormat Format { get; }
|
|
|
|
[Export ("audioBufferList"), Internal]
|
|
IntPtr audioBufferList { get; }
|
|
|
|
[Export ("mutableAudioBufferList"), Internal]
|
|
IntPtr mutableAudioBufferList { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // fails (nil handle on iOS 10)
|
|
interface AVAudioChannelLayout : NSSecureCoding {
|
|
[Export ("initWithLayoutTag:")]
|
|
NativeHandle Constructor (/* UInt32 */ uint layoutTag);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithLayout:"), Internal]
|
|
#if NET
|
|
NativeHandle Constructor (IntPtr layout);
|
|
#else
|
|
NativeHandle Constructor (nint /* This is really an IntPtr, but it conflicts with the default (Handle) ctor. */ layout);
|
|
#endif
|
|
|
|
[Export ("layoutTag")]
|
|
uint /* AudioChannelLayoutTag = UInt32 */ LayoutTag { get; }
|
|
|
|
[Export ("layout"), Internal]
|
|
IntPtr _Layout { get; }
|
|
|
|
[Export ("channelCount")]
|
|
uint /* AVAudioChannelCount = uint32_t */ ChannelCount { get; }
|
|
|
|
[Export ("isEqual:"), Internal]
|
|
bool IsEqual (NSObject other);
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (9,0), Mac(10,11)]
|
|
[BaseType (typeof(AVAudioBuffer))]
|
|
[DisableDefaultCtor] // just like base class (AVAudioBuffer) can't, avoid crash when ToString call `description`
|
|
interface AVAudioCompressedBuffer
|
|
{
|
|
[Export ("initWithFormat:packetCapacity:maximumPacketSize:")]
|
|
NativeHandle Constructor (AVAudioFormat format, uint packetCapacity, nint maximumPacketSize);
|
|
|
|
[Export ("initWithFormat:packetCapacity:")]
|
|
NativeHandle Constructor (AVAudioFormat format, uint packetCapacity);
|
|
|
|
[Export ("packetCapacity")]
|
|
uint PacketCapacity { get; }
|
|
|
|
[Export ("packetCount")]
|
|
uint PacketCount { get; set; }
|
|
|
|
[Export ("maximumPacketSize")]
|
|
nint MaximumPacketSize { get; }
|
|
|
|
[Export ("data")]
|
|
IntPtr Data { get; }
|
|
|
|
[NullAllowed, Export ("packetDescriptions")]
|
|
AudioStreamPacketDescription PacketDescriptions { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("byteCapacity")]
|
|
uint ByteCapacity { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("byteLength")]
|
|
uint ByteLength { get; set; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (9,0), Mac(10,11)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor] // fails (nil handle on iOS 10)
|
|
interface AVAudioConnectionPoint
|
|
{
|
|
[Export ("initWithNode:bus:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVAudioNode node, nuint bus);
|
|
|
|
[NullAllowed, Export ("node", ArgumentSemantic.Weak)]
|
|
AVAudioNode Node { get; }
|
|
|
|
[Export ("bus")]
|
|
nuint Bus { get; }
|
|
}
|
|
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
delegate AVAudioEngineManualRenderingStatus AVAudioEngineManualRenderingBlock (/* AVAudioFrameCount = uint */ uint numberOfFrames, AudioBuffers outBuffer, [NullAllowed] /* OSStatus */ ref int outError);
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioEngine {
|
|
|
|
[NoWatch]
|
|
[Export ("musicSequence"), NullAllowed]
|
|
MusicSequence MusicSequence { get; set; }
|
|
|
|
[Export ("outputNode")]
|
|
AVAudioOutputNode OutputNode { get; }
|
|
|
|
[TV (11,0)]
|
|
[Watch (4,0)]
|
|
[Export ("inputNode")]
|
|
AVAudioInputNode InputNode { get; }
|
|
|
|
[Export ("mainMixerNode")]
|
|
AVAudioMixerNode MainMixerNode { get; }
|
|
|
|
[Export ("running")]
|
|
bool Running { [Bind ("isRunning")] get; }
|
|
|
|
[Export ("attachNode:")]
|
|
void AttachNode (AVAudioNode node);
|
|
|
|
[Export ("detachNode:")]
|
|
void DetachNode (AVAudioNode node);
|
|
|
|
[Export ("connect:to:fromBus:toBus:format:")]
|
|
void Connect (AVAudioNode sourceNode, AVAudioNode targetNode, nuint sourceBus, nuint targetBus, [NullAllowed] AVAudioFormat format);
|
|
|
|
[Export ("connect:to:format:")]
|
|
void Connect (AVAudioNode sourceNode, AVAudioNode targetNode, [NullAllowed] AVAudioFormat format);
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Export ("connect:toConnectionPoints:fromBus:format:")]
|
|
void Connect (AVAudioNode sourceNode, AVAudioConnectionPoint [] destNodes, nuint sourceBus, [NullAllowed] AVAudioFormat format);
|
|
|
|
[Export ("disconnectNodeInput:bus:")]
|
|
void DisconnectNodeInput (AVAudioNode node, nuint bus);
|
|
|
|
[Export ("disconnectNodeInput:")]
|
|
void DisconnectNodeInput (AVAudioNode node);
|
|
|
|
[Export ("disconnectNodeOutput:bus:")]
|
|
void DisconnectNodeOutput (AVAudioNode node, nuint bus);
|
|
|
|
[Export ("disconnectNodeOutput:")]
|
|
void DisconnectNodeOutput (AVAudioNode node);
|
|
|
|
[Export ("prepare")]
|
|
void Prepare ();
|
|
|
|
[Export ("startAndReturnError:")]
|
|
bool StartAndReturnError (out NSError outError);
|
|
|
|
[Export ("pause")]
|
|
void Pause ();
|
|
|
|
[Export ("reset")]
|
|
void Reset ();
|
|
|
|
[Export ("stop")]
|
|
void Stop ();
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[return: NullAllowed]
|
|
[Export ("inputConnectionPointForNode:inputBus:")]
|
|
AVAudioConnectionPoint InputConnectionPoint (AVAudioNode node, nuint bus);
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Export ("outputConnectionPointsForNode:outputBus:")]
|
|
AVAudioConnectionPoint [] OutputConnectionPoints (AVAudioNode node, nuint bus);
|
|
|
|
[Notification]
|
|
[Field ("AVAudioEngineConfigurationChangeNotification")]
|
|
NSString ConfigurationChangeNotification { get; }
|
|
|
|
[TV (11, 0), NoWatch, Mac (10, 13), iOS (11, 0)]
|
|
[Export ("autoShutdownEnabled")]
|
|
bool AutoShutdownEnabled { [Bind ("isAutoShutdownEnabled")] get; set; }
|
|
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("enableManualRenderingMode:format:maximumFrameCount:error:")]
|
|
bool EnableManualRenderingMode (AVAudioEngineManualRenderingMode mode, AVAudioFormat pcmFormat, uint maximumFrameCount, out NSError outError);
|
|
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("renderOffline:toBuffer:error:")]
|
|
AVAudioEngineManualRenderingStatus RenderOffline (uint numberOfFrames, AVAudioPcmBuffer buffer, [NullAllowed] out NSError outError);
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("manualRenderingBlock")]
|
|
AVAudioEngineManualRenderingBlock ManualRenderingBlock { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("isInManualRenderingMode")]
|
|
bool InManualRenderingMode { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("manualRenderingMode")]
|
|
AVAudioEngineManualRenderingMode ManualRenderingMode { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("manualRenderingFormat")]
|
|
AVAudioFormat ManualRenderingFormat { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("manualRenderingMaximumFrameCount")]
|
|
uint ManualRenderingMaximumFrameCount { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("manualRenderingSampleTime")]
|
|
long ManualRenderingSampleTime { get; }
|
|
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("disableManualRenderingMode")]
|
|
void DisableManualRenderingMode ();
|
|
|
|
#if !WATCH
|
|
[TV (12,0), Mac (10,14), iOS (12,0), NoWatch]
|
|
[Export ("connectMIDI:to:format:block:")]
|
|
void ConnectMidi (AVAudioNode sourceNode, AVAudioNode destinationNode, [NullAllowed] AVAudioFormat format, [NullAllowed] AUMidiOutputEventBlock tapHandler);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0), NoWatch]
|
|
[Export ("connectMIDI:toNodes:format:block:")]
|
|
void ConnectMidi (AVAudioNode sourceNode, AVAudioNode[] destinationNodes, [NullAllowed] AVAudioFormat format, [NullAllowed] AUMidiOutputEventBlock tapHandler);
|
|
#endif
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0), NoWatch]
|
|
[Export ("disconnectMIDI:from:")]
|
|
void DisconnectMidi (AVAudioNode sourceNode, AVAudioNode destinationNode);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0), NoWatch]
|
|
[Export ("disconnectMIDI:fromNodes:")]
|
|
void DisconnectMidi (AVAudioNode sourceNode, AVAudioNode[] destinationNodes);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0), NoWatch]
|
|
[Export ("disconnectMIDIInput:")]
|
|
void DisconnectMidiInput (AVAudioNode node);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0), NoWatch]
|
|
[Export ("disconnectMIDIOutput:")]
|
|
void DisconnectMidiOutput (AVAudioNode node);
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("attachedNodes", ArgumentSemantic.Copy)]
|
|
NSSet<AVAudioNode> AttachedNodes { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (AVAudioNode))]
|
|
[DisableDefaultCtor] // designated
|
|
interface AVAudioEnvironmentNode : AVAudioMixing {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("init")]
|
|
NativeHandle Constructor ();
|
|
|
|
[Export ("nextAvailableInputBus")]
|
|
nuint NextAvailableInputBus { get; }
|
|
|
|
[Export ("listenerPosition", ArgumentSemantic.Assign)]
|
|
Vector3 ListenerPosition { get; set; }
|
|
|
|
[Export ("listenerVectorOrientation", ArgumentSemantic.Assign)]
|
|
AVAudio3DVectorOrientation ListenerVectorOrientation { get; set; }
|
|
|
|
[Export ("listenerAngularOrientation", ArgumentSemantic.Assign)]
|
|
AVAudio3DAngularOrientation ListenerAngularOrientation { get; set; }
|
|
|
|
[Export ("distanceAttenuationParameters")]
|
|
AVAudioEnvironmentDistanceAttenuationParameters DistanceAttenuationParameters { get; }
|
|
|
|
[Export ("reverbParameters")]
|
|
AVAudioEnvironmentReverbParameters ReverbParameters { get; }
|
|
|
|
[Export ("applicableRenderingAlgorithms")]
|
|
#if NET
|
|
NSNumber [] ApplicableRenderingAlgorithms { get; }
|
|
#else
|
|
NSObject [] ApplicableRenderingAlgorithms ();
|
|
#endif
|
|
|
|
[Export ("outputVolume")]
|
|
float OutputVolume { get; set; } /* float, not CGFloat */
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("outputType", ArgumentSemantic.Assign)]
|
|
AVAudioEnvironmentOutputType OutputType { get; set; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioEnvironmentDistanceAttenuationParameters {
|
|
[Export ("distanceAttenuationModel", ArgumentSemantic.Assign)]
|
|
AVAudioEnvironmentDistanceAttenuationModel DistanceAttenuationModel { get; set; }
|
|
|
|
[Export ("referenceDistance")]
|
|
float ReferenceDistance { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("maximumDistance")]
|
|
float MaximumDistance { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("rolloffFactor")]
|
|
float RolloffFactor { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioEnvironmentReverbParameters {
|
|
[Export ("enable")]
|
|
bool Enable { get; set; }
|
|
|
|
[Export ("level")]
|
|
float Level { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("filterParameters")]
|
|
AVAudioUnitEQFilterParameters FilterParameters { get; }
|
|
|
|
[Export ("loadFactoryReverbPreset:")]
|
|
void LoadFactoryReverbPreset (AVAudioUnitReverbPreset preset);
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioFile {
|
|
[Export ("initForReading:error:")]
|
|
NativeHandle Constructor (NSUrl fileUrl, out NSError outError);
|
|
|
|
[Export ("initForReading:commonFormat:interleaved:error:")]
|
|
NativeHandle Constructor (NSUrl fileUrl, AVAudioCommonFormat format, bool interleaved, out NSError outError);
|
|
|
|
[Export ("initForWriting:settings:error:"), Internal]
|
|
NativeHandle Constructor (NSUrl fileUrl, NSDictionary settings, out NSError outError);
|
|
|
|
[Wrap ("this (fileUrl, settings.GetDictionary ()!, out outError)")]
|
|
NativeHandle Constructor (NSUrl fileUrl, AudioSettings settings, out NSError outError);
|
|
|
|
[Export ("initForWriting:settings:commonFormat:interleaved:error:"), Internal]
|
|
NativeHandle Constructor (NSUrl fileUrl, NSDictionary settings, AVAudioCommonFormat format, bool interleaved, out NSError outError);
|
|
|
|
[Wrap ("this (fileUrl, settings.GetDictionary ()!, format, interleaved, out outError)")]
|
|
NativeHandle Constructor (NSUrl fileUrl, AudioSettings settings, AVAudioCommonFormat format, bool interleaved, out NSError outError);
|
|
|
|
[Export ("url")]
|
|
NSUrl Url { get; }
|
|
|
|
[Export ("fileFormat")]
|
|
AVAudioFormat FileFormat { get; }
|
|
|
|
[Export ("processingFormat")]
|
|
AVAudioFormat ProcessingFormat { get; }
|
|
|
|
[Export ("length")]
|
|
long Length { get; }
|
|
|
|
[Export ("framePosition")]
|
|
long FramePosition { get; set; }
|
|
|
|
[Export ("readIntoBuffer:error:")]
|
|
bool ReadIntoBuffer (AVAudioPcmBuffer buffer, out NSError outError);
|
|
|
|
[Export ("readIntoBuffer:frameCount:error:")]
|
|
bool ReadIntoBuffer (AVAudioPcmBuffer buffer, uint /* AVAudioFrameCount = uint32_t */ frames, out NSError outError);
|
|
|
|
[Export ("writeFromBuffer:error:")]
|
|
bool WriteFromBuffer (AVAudioPcmBuffer buffer, out NSError outError);
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioFormat : NSSecureCoding {
|
|
[Export ("initWithStreamDescription:")]
|
|
NativeHandle Constructor (ref AudioStreamBasicDescription description);
|
|
|
|
[Export ("initWithStreamDescription:channelLayout:")]
|
|
NativeHandle Constructor (ref AudioStreamBasicDescription description, [NullAllowed] AVAudioChannelLayout layout);
|
|
|
|
[Export ("initStandardFormatWithSampleRate:channels:")]
|
|
NativeHandle Constructor (double sampleRate, uint /* AVAudioChannelCount = uint32_t */ channels);
|
|
|
|
[Export ("initStandardFormatWithSampleRate:channelLayout:")]
|
|
NativeHandle Constructor (double sampleRate, AVAudioChannelLayout layout);
|
|
|
|
[Export ("initWithCommonFormat:sampleRate:channels:interleaved:")]
|
|
NativeHandle Constructor (AVAudioCommonFormat format, double sampleRate, uint /* AVAudioChannelCount = uint32_t */ channels, bool interleaved);
|
|
|
|
[Export ("initWithCommonFormat:sampleRate:interleaved:channelLayout:")]
|
|
NativeHandle Constructor (AVAudioCommonFormat format, double sampleRate, bool interleaved, AVAudioChannelLayout layout);
|
|
|
|
[Export ("initWithSettings:")]
|
|
NativeHandle Constructor (NSDictionary settings);
|
|
|
|
[Wrap ("this (settings.GetDictionary ()!)")]
|
|
NativeHandle Constructor (AudioSettings settings);
|
|
|
|
[iOS (9,0)][Mac (10,11)][Watch (6,0)]
|
|
[Export ("initWithCMAudioFormatDescription:")]
|
|
NativeHandle Constructor (CMAudioFormatDescription formatDescription);
|
|
|
|
[Export ("standard")]
|
|
bool Standard { [Bind ("isStandard")] get; }
|
|
|
|
[Export ("commonFormat")]
|
|
AVAudioCommonFormat CommonFormat { get; }
|
|
|
|
[Export ("channelCount")]
|
|
uint ChannelCount { get; } /* AVAudioChannelCount = uint32_t */
|
|
|
|
[Export ("sampleRate")]
|
|
double SampleRate { get; }
|
|
|
|
[Export ("interleaved")]
|
|
bool Interleaved { [Bind ("isInterleaved")] get; }
|
|
|
|
[Export ("streamDescription")]
|
|
AudioStreamBasicDescription StreamDescription { get; }
|
|
|
|
[Export ("channelLayout"), NullAllowed]
|
|
AVAudioChannelLayout ChannelLayout { get; }
|
|
|
|
[Export ("settings")]
|
|
NSDictionary WeakSettings { get; }
|
|
|
|
[Wrap ("WeakSettings")]
|
|
AudioSettings Settings { get; }
|
|
|
|
[iOS (9,0)][Mac (10,11)][Watch (6,0)]
|
|
[Export ("formatDescription")]
|
|
CMAudioFormatDescription FormatDescription { get; }
|
|
|
|
[Export ("isEqual:"), Internal]
|
|
bool IsEqual (NSObject obj);
|
|
|
|
[iOS (10,0), TV (10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("magicCookie", ArgumentSemantic.Retain)]
|
|
NSData MagicCookie { get; set; }
|
|
}
|
|
|
|
[NoWatch] // all members are unavailable
|
|
[Protocol, Model]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudio3DMixing {
|
|
[Abstract]
|
|
[Export ("renderingAlgorithm")]
|
|
AVAudio3DMixingRenderingAlgorithm RenderingAlgorithm { get; set; }
|
|
|
|
[Abstract]
|
|
[Export ("rate")]
|
|
float Rate { get; set; } /* float, not CGFloat */
|
|
|
|
[Abstract]
|
|
[Export ("reverbBlend")]
|
|
float ReverbBlend { get; set; } /* float, not CGFloat */
|
|
|
|
[Abstract]
|
|
[Export ("obstruction")]
|
|
float Obstruction { get; set; } /* float, not CGFloat */
|
|
|
|
[Abstract]
|
|
[Export ("occlusion")]
|
|
float Occlusion { get; set; } /* float, not CGFloat */
|
|
|
|
[Abstract]
|
|
[Export ("position")]
|
|
Vector3 Position { get; set; }
|
|
|
|
#if NET
|
|
[Abstract]
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("sourceMode", ArgumentSemantic.Assign)]
|
|
AVAudio3DMixingSourceMode SourceMode { get; set; }
|
|
|
|
[Abstract]
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("pointSourceInHeadMode", ArgumentSemantic.Assign)]
|
|
AVAudio3DMixingPointSourceInHeadMode PointSourceInHeadMode { get; set; }
|
|
|
|
#else
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("sourceMode", ArgumentSemantic.Assign)]
|
|
AVAudio3DMixingSourceMode GetSourceMode ();
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("setSourceMode:")]
|
|
void SetSourceMode (AVAudio3DMixingSourceMode sourceMode);
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("pointSourceInHeadMode", ArgumentSemantic.Assign)]
|
|
AVAudio3DMixingPointSourceInHeadMode GetPointSourceInHeadMode ();
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("setPointSourceInHeadMode:")]
|
|
void SetPointSourceInHeadMode (AVAudio3DMixingPointSourceInHeadMode pointSourceInHeadMode);
|
|
#endif
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Protocol]
|
|
interface AVAudioMixing : AVAudioStereoMixing
|
|
#if !WATCH
|
|
, AVAudio3DMixing
|
|
#endif
|
|
{
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
#if NET
|
|
// Apple added a new required member in iOS 9, but that breaks our binary compat, so we can't do that in our existing code.
|
|
[Abstract]
|
|
#endif
|
|
[Export ("destinationForMixer:bus:")]
|
|
[return: NullAllowed]
|
|
AVAudioMixingDestination DestinationForMixer (AVAudioNode mixer, nuint bus);
|
|
|
|
[Abstract]
|
|
[Export ("volume")]
|
|
float Volume { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (9,0), Mac (10,11)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor] // Default constructor not allowed : Objective-C exception thrown
|
|
interface AVAudioMixingDestination : AVAudioMixing {
|
|
|
|
[Export ("connectionPoint")]
|
|
AVAudioConnectionPoint ConnectionPoint { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Protocol, Model]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioStereoMixing {
|
|
[Abstract]
|
|
[Export ("pan")]
|
|
float Pan { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // documented as an abstract class, returned Handle is nil
|
|
interface AVAudioNode {
|
|
[Export ("engine"), NullAllowed]
|
|
AVAudioEngine Engine { get; }
|
|
|
|
[Export ("numberOfInputs")]
|
|
nuint NumberOfInputs { get; }
|
|
|
|
[Export ("numberOfOutputs")]
|
|
nuint NumberOfOutputs { get; }
|
|
|
|
[Export ("lastRenderTime"), NullAllowed]
|
|
AVAudioTime LastRenderTime { get; }
|
|
|
|
[Export ("reset")]
|
|
void Reset ();
|
|
|
|
[Export ("inputFormatForBus:")]
|
|
AVAudioFormat GetBusInputFormat (nuint bus);
|
|
|
|
[Export ("outputFormatForBus:")]
|
|
AVAudioFormat GetBusOutputFormat (nuint bus);
|
|
|
|
[Export ("nameForInputBus:")]
|
|
[return: NullAllowed]
|
|
string GetNameForInputBus (nuint bus);
|
|
|
|
[Export ("nameForOutputBus:")]
|
|
[return: NullAllowed]
|
|
string GetNameForOutputBus (nuint bus);
|
|
|
|
[Export ("installTapOnBus:bufferSize:format:block:")]
|
|
void InstallTapOnBus (nuint bus, uint /* AVAudioFrameCount = uint32_t */ bufferSize, [NullAllowed] AVAudioFormat format, AVAudioNodeTapBlock tapBlock);
|
|
|
|
[Export ("removeTapOnBus:")]
|
|
void RemoveTapOnBus (nuint bus);
|
|
|
|
[NoWatch, TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("AUAudioUnit")]
|
|
AUAudioUnit AUAudioUnit { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("latency")]
|
|
double Latency { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Export ("outputPresentationLatency")]
|
|
double OutputPresentationLatency { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (AVAudioNode))]
|
|
[DisableDefaultCtor] // documented as a base class - returned Handle is nil
|
|
interface AVAudioIONode {
|
|
[Export ("presentationLatency")]
|
|
double PresentationLatency { get; }
|
|
|
|
[NoWatch]
|
|
[Export ("audioUnit"), NullAllowed]
|
|
global::AudioUnit.AudioUnit AudioUnit { get; }
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("voiceProcessingEnabled")]
|
|
bool VoiceProcessingEnabled { [Bind ("isVoiceProcessingEnabled")] get; }
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("setVoiceProcessingEnabled:error:")]
|
|
bool SetVoiceProcessingEnabled (bool enabled, out NSError outError);
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (AVAudioNode))]
|
|
[DisableDefaultCtor] // designated
|
|
interface AVAudioMixerNode : AVAudioMixing {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("init")]
|
|
NativeHandle Constructor ();
|
|
|
|
[Export ("outputVolume")]
|
|
float OutputVolume { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("nextAvailableInputBus")]
|
|
nuint NextAvailableInputBus { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[DisableDefaultCtor] // returned Handle is nil
|
|
// note: sample source (header) suggest it comes from AVAudioEngine properties
|
|
[BaseType (typeof (AVAudioIONode))]
|
|
interface AVAudioOutputNode {
|
|
|
|
}
|
|
|
|
[Watch (4,0), TV (11,0), Mac (10,10), iOS (8,0)]
|
|
delegate AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
|
|
|
|
[Watch (4,0)]
|
|
[iOS (8,0)][Mac (10,10)][TV (11,0)]
|
|
[BaseType (typeof (AVAudioIONode))]
|
|
[DisableDefaultCtor] // returned Handle is nil
|
|
// note: sample source (header) suggest it comes from AVAudioEngine properties
|
|
interface AVAudioInputNode : AVAudioMixing {
|
|
|
|
[Mac (10,13), iOS (11,0), Watch (6,0)]
|
|
[Export ("setManualRenderingInputPCMFormat:inputBlock:")]
|
|
bool SetManualRenderingInputPcmFormat (AVAudioFormat format, AVAudioIONodeInputBlock block);
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("voiceProcessingBypassed")]
|
|
bool VoiceProcessingBypassed { [Bind ("isVoiceProcessingBypassed")] get; set; }
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("voiceProcessingAGCEnabled")]
|
|
bool VoiceProcessingAgcEnabled { [Bind ("isVoiceProcessingAGCEnabled")] get; set; }
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("voiceProcessingInputMuted")]
|
|
bool VoiceProcessingInputMuted { [Bind ("isVoiceProcessingInputMuted")] get; set; }
|
|
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (AVAudioBuffer), Name="AVAudioPCMBuffer")]
|
|
[DisableDefaultCtor] // crash in tests
|
|
interface AVAudioPcmBuffer {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithPCMFormat:frameCapacity:")]
|
|
NativeHandle Constructor (AVAudioFormat format, uint /* AVAudioFrameCount = uint32_t */ frameCapacity);
|
|
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("initWithPCMFormat:bufferListNoCopy:deallocator:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVAudioFormat format, AudioBuffers bufferList, [NullAllowed] Action<AudioBuffers> deallocator);
|
|
|
|
[Export ("frameCapacity")]
|
|
uint FrameCapacity { get; } /* AVAudioFrameCount = uint32_t */
|
|
|
|
[Export ("frameLength")]
|
|
uint FrameLength { get; set; } /* AVAudioFrameCount = uint32_t */
|
|
|
|
[Export ("stride")]
|
|
nuint Stride { get; }
|
|
|
|
[Export ("floatChannelData")]
|
|
IntPtr FloatChannelData { get; }
|
|
|
|
[Export ("int16ChannelData")]
|
|
IntPtr Int16ChannelData { get; }
|
|
|
|
[Export ("int32ChannelData")]
|
|
IntPtr Int32ChannelData { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAudioPlayer {
|
|
[Export ("initWithContentsOfURL:error:")][Internal]
|
|
NativeHandle Constructor (NSUrl url, IntPtr outError);
|
|
|
|
[Export ("initWithData:error:")][Internal]
|
|
NativeHandle Constructor (NSData data, IntPtr outError);
|
|
|
|
[Export ("prepareToPlay")]
|
|
bool PrepareToPlay ();
|
|
|
|
[Export ("play")]
|
|
bool Play ();
|
|
|
|
[Export ("pause")]
|
|
void Pause ();
|
|
|
|
[Export ("stop")]
|
|
void Stop ();
|
|
|
|
[Export ("playing")]
|
|
bool Playing { [Bind ("isPlaying")] get; }
|
|
|
|
[Export ("numberOfChannels")]
|
|
nuint NumberOfChannels { get; }
|
|
|
|
[Export ("duration")]
|
|
double Duration { get; }
|
|
|
|
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
|
|
NSObject WeakDelegate { get; set; }
|
|
|
|
[Wrap ("WeakDelegate"), NullAllowed]
|
|
[Protocolize]
|
|
AVAudioPlayerDelegate Delegate { get; set; }
|
|
|
|
[Export ("url"), NullAllowed]
|
|
NSUrl Url { get; }
|
|
|
|
[Export ("data"), NullAllowed]
|
|
NSData Data { get; }
|
|
|
|
[Export ("volume")]
|
|
float Volume { get; set; } // defined as 'float'
|
|
|
|
[iOS (10,0), TV (10,0), Mac (10,12)]
|
|
[Export ("setVolume:fadeDuration:")]
|
|
void SetVolume (float volume, double duration);
|
|
|
|
[Export ("currentTime")]
|
|
double CurrentTime { get; set; }
|
|
|
|
[Export ("numberOfLoops")]
|
|
nint NumberOfLoops { get; set; }
|
|
|
|
[Export ("meteringEnabled")]
|
|
bool MeteringEnabled { [Bind ("isMeteringEnabled")] get; set; }
|
|
|
|
[Export ("updateMeters")]
|
|
void UpdateMeters ();
|
|
|
|
[Export ("peakPowerForChannel:")]
|
|
float PeakPower (nuint channelNumber); // defined as 'float'
|
|
|
|
[Export ("averagePowerForChannel:")]
|
|
float AveragePower (nuint channelNumber); // defined as 'float'
|
|
|
|
[Export ("deviceCurrentTime")]
|
|
double DeviceCurrentTime { get; }
|
|
|
|
[Export ("pan")]
|
|
float Pan { get; set; } // defined as 'float'
|
|
|
|
[Export ("playAtTime:")]
|
|
bool PlayAtTime (double time);
|
|
|
|
[Export ("settings")][Protected]
|
|
NSDictionary WeakSettings { get; }
|
|
|
|
[Wrap ("WeakSettings")]
|
|
AudioSettings SoundSetting { get; }
|
|
|
|
[Export ("enableRate")]
|
|
bool EnableRate { get; set; }
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; } // defined as 'float'
|
|
|
|
[NoMac]
|
|
[Export ("channelAssignments", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioSessionChannelDescription [] ChannelAssignments { get; set; }
|
|
|
|
[iOS (7,0), Mac (10,9), Export ("initWithData:fileTypeHint:error:")]
|
|
NativeHandle Constructor (NSData data, [NullAllowed] string fileTypeHint, out NSError outError);
|
|
|
|
[iOS (7,0), Mac (10,9), Export ("initWithContentsOfURL:fileTypeHint:error:")]
|
|
NativeHandle Constructor (NSUrl url, [NullAllowed] string fileTypeHint, out NSError outError);
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Watch (4,0)]
|
|
[Export ("format")]
|
|
AVAudioFormat Format { get; }
|
|
|
|
[NoiOS, Mac (10, 13), NoTV, NoWatch, MacCatalyst (15,0)]
|
|
[NullAllowed, Export ("currentDevice")]
|
|
string CurrentDevice { get; set; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVAudioPlayerDelegate {
|
|
[Export ("audioPlayerDidFinishPlaying:successfully:"), CheckDisposed]
|
|
void FinishedPlaying (AVAudioPlayer player, bool flag);
|
|
|
|
[Export ("audioPlayerDecodeErrorDidOccur:error:")]
|
|
void DecoderError (AVAudioPlayer player, [NullAllowed] NSError error);
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 8, 0)]
|
|
[Export ("audioPlayerBeginInterruption:")]
|
|
void BeginInterruption (AVAudioPlayer player);
|
|
|
|
[NoMac]
|
|
[Export ("audioPlayerEndInterruption:")]
|
|
[Deprecated (PlatformName.iOS, 6, 0)]
|
|
void EndInterruption (AVAudioPlayer player);
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 8, 0)]
|
|
[Export ("audioPlayerEndInterruption:withOptions:")]
|
|
#if NET
|
|
void EndInterruption (AVAudioPlayer player, AVAudioSessionInterruptionOptions flags);
|
|
#else
|
|
void EndInterruption (AVAudioPlayer player, AVAudioSessionInterruptionFlags flags);
|
|
#endif
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (AVAudioNode))]
|
|
[DisableDefaultCtor] // designated
|
|
interface AVAudioPlayerNode : AVAudioMixing {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("init")]
|
|
NativeHandle Constructor ();
|
|
|
|
[Export ("playing")]
|
|
bool Playing { [Bind ("isPlaying")] get; }
|
|
|
|
[Async]
|
|
[Export ("scheduleBuffer:completionHandler:")]
|
|
void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] Action completionHandler);
|
|
|
|
[Async]
|
|
[Export ("scheduleBuffer:atTime:options:completionHandler:")]
|
|
void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] AVAudioTime when, AVAudioPlayerNodeBufferOptions options, [NullAllowed] Action completionHandler);
|
|
|
|
[Async]
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("scheduleBuffer:completionCallbackType:completionHandler:")]
|
|
void ScheduleBuffer (AVAudioPcmBuffer buffer, AVAudioPlayerNodeCompletionCallbackType callbackType, [NullAllowed] Action<AVAudioPlayerNodeCompletionCallbackType> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("scheduleBuffer:atTime:options:completionCallbackType:completionHandler:")]
|
|
void ScheduleBuffer (AVAudioPcmBuffer buffer, [NullAllowed] AVAudioTime when, AVAudioPlayerNodeBufferOptions options, AVAudioPlayerNodeCompletionCallbackType callbackType, [NullAllowed] Action<AVAudioPlayerNodeCompletionCallbackType> completionHandler);
|
|
|
|
[Async]
|
|
[Export ("scheduleFile:atTime:completionHandler:")]
|
|
void ScheduleFile (AVAudioFile file, [NullAllowed] AVAudioTime when, [NullAllowed] Action completionHandler);
|
|
|
|
[Async]
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("scheduleFile:atTime:completionCallbackType:completionHandler:")]
|
|
void ScheduleFile (AVAudioFile file, [NullAllowed] AVAudioTime when, AVAudioPlayerNodeCompletionCallbackType callbackType, [NullAllowed] Action<AVAudioPlayerNodeCompletionCallbackType> completionHandler);
|
|
|
|
[Async]
|
|
[Export ("scheduleSegment:startingFrame:frameCount:atTime:completionHandler:")]
|
|
void ScheduleSegment (AVAudioFile file, long startFrame, uint /* AVAudioFrameCount = uint32_t */ numberFrames, [NullAllowed] AVAudioTime when, [NullAllowed] Action completionHandler);
|
|
|
|
[Async]
|
|
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("scheduleSegment:startingFrame:frameCount:atTime:completionCallbackType:completionHandler:")]
|
|
void ScheduleSegment (AVAudioFile file, long startFrame, uint numberFrames, [NullAllowed] AVAudioTime when, AVAudioPlayerNodeCompletionCallbackType callbackType, [NullAllowed] Action<AVAudioPlayerNodeCompletionCallbackType> completionHandler);
|
|
|
|
[Export ("stop")]
|
|
void Stop ();
|
|
|
|
[Export ("prepareWithFrameCount:")]
|
|
void PrepareWithFrameCount (uint /* AVAudioFrameCount = uint32_t */ frameCount);
|
|
|
|
[Export ("play")]
|
|
void Play ();
|
|
|
|
[Export ("playAtTime:")]
|
|
void PlayAtTime ([NullAllowed] AVAudioTime when);
|
|
|
|
[Export ("pause")]
|
|
void Pause ();
|
|
|
|
[return: NullAllowed]
|
|
[Export ("nodeTimeForPlayerTime:")]
|
|
AVAudioTime GetNodeTimeFromPlayerTime (AVAudioTime playerTime);
|
|
|
|
[return: NullAllowed]
|
|
[Export ("playerTimeForNodeTime:")]
|
|
AVAudioTime GetPlayerTimeFromNodeTime (AVAudioTime nodeTime);
|
|
}
|
|
|
|
[BaseType (typeof (NSObject))]
|
|
[NoTV]
|
|
[Watch (4,0)]
|
|
interface AVAudioRecorder {
|
|
[Export ("initWithURL:settings:error:")][Internal]
|
|
IntPtr InitWithUrl (NSUrl url, NSDictionary settings, out NSError error);
|
|
|
|
[Internal]
|
|
[iOS (10,0), Mac (10,12)]
|
|
[Export ("initWithURL:format:error:")]
|
|
IntPtr InitWithUrl (NSUrl url, AVAudioFormat format, out NSError outError);
|
|
|
|
[Export ("prepareToRecord")]
|
|
bool PrepareToRecord ();
|
|
|
|
[Export ("record")]
|
|
bool Record ();
|
|
|
|
[Export ("recordForDuration:")]
|
|
bool RecordFor (double duration);
|
|
|
|
[Export ("pause")]
|
|
void Pause ();
|
|
|
|
[Export ("stop")]
|
|
void Stop ();
|
|
|
|
[Export ("deleteRecording")]
|
|
bool DeleteRecording ();
|
|
|
|
[Export ("recording")]
|
|
bool Recording { [Bind ("isRecording")] get; }
|
|
|
|
[Export ("url")]
|
|
NSUrl Url { get; }
|
|
|
|
[Export ("settings")]
|
|
NSDictionary WeakSettings { get; }
|
|
|
|
[Wrap ("WeakSettings")]
|
|
AudioSettings Settings { get; }
|
|
|
|
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
|
|
NSObject WeakDelegate { get; set; }
|
|
|
|
[Wrap ("WeakDelegate"), NullAllowed]
|
|
[Protocolize]
|
|
AVAudioRecorderDelegate Delegate { get; set; }
|
|
|
|
[Export ("currentTime")]
|
|
double currentTime { get; }
|
|
|
|
[Export ("meteringEnabled")]
|
|
bool MeteringEnabled { [Bind ("isMeteringEnabled")] get; set; }
|
|
|
|
[Export ("updateMeters")]
|
|
void UpdateMeters ();
|
|
|
|
[Export ("peakPowerForChannel:")]
|
|
float PeakPower (nuint channelNumber); // defined as 'float'
|
|
|
|
[Export ("averagePowerForChannel:")]
|
|
float AveragePower (nuint channelNumber); // defined as 'float'
|
|
|
|
[NoMac]
|
|
[Export ("channelAssignments", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioSessionChannelDescription [] ChannelAssignments { get; set; }
|
|
|
|
[Mac (10,14)]
|
|
[Export ("recordAtTime:")]
|
|
bool RecordAt (double time);
|
|
|
|
[Mac (10,14)]
|
|
[Export ("recordAtTime:forDuration:")]
|
|
bool RecordAt (double time, double duration);
|
|
|
|
[Mac (10,14)]
|
|
[Export ("deviceCurrentTime")]
|
|
double DeviceCurrentTime { get; }
|
|
|
|
[iOS (10,0), Mac (10,12)]
|
|
[Export ("format")]
|
|
AVAudioFormat Format { get; }
|
|
}
|
|
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
[NoTV]
|
|
[Watch (4,0)]
|
|
interface AVAudioRecorderDelegate {
|
|
[Export ("audioRecorderDidFinishRecording:successfully:"), CheckDisposed]
|
|
void FinishedRecording (AVAudioRecorder recorder, bool flag);
|
|
|
|
[Export ("audioRecorderEncodeErrorDidOccur:error:")]
|
|
void EncoderError (AVAudioRecorder recorder, [NullAllowed] NSError error);
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 8, 0)]
|
|
[Export ("audioRecorderBeginInterruption:")]
|
|
void BeginInterruption (AVAudioRecorder recorder);
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 6, 0)]
|
|
[Export ("audioRecorderEndInterruption:")]
|
|
void EndInterruption (AVAudioRecorder recorder);
|
|
|
|
// Deprecated in iOS 6.0 but we have same C# signature as a method that was deprecated in iOS 8.0
|
|
[Deprecated (PlatformName.iOS, 8, 0)]
|
|
[NoMac]
|
|
#if !NET
|
|
[Export ("audioRecorderEndInterruption:withFlags:")]
|
|
void EndInterruption (AVAudioRecorder recorder, AVAudioSessionInterruptionFlags flags);
|
|
#else
|
|
[Export ("audioRecorderEndInterruption:withOptions:")]
|
|
void EndInterruption (AVAudioRecorder recorder, AVAudioSessionInterruptionOptions flags);
|
|
#endif // !NET
|
|
}
|
|
|
|
[NoMac]
|
|
interface AVAudioSessionSecondaryAudioHintEventArgs {
|
|
[Export ("AVAudioSessionSilenceSecondaryAudioHintNotification")]
|
|
AVAudioSessionSilenceSecondaryAudioHintType Hint { get; }
|
|
|
|
[Export ("AVAudioSessionSilenceSecondaryAudioHintTypeKey")]
|
|
AVAudioSessionRouteDescription HintType { get; }
|
|
}
|
|
|
|
delegate void AVPermissionGranted (bool granted);
|
|
|
|
[iOS (14, 5), Watch (7, 4), NoTV, NoMac]
|
|
[Native]
|
|
public enum AVAudioSessionInterruptionReason : ulong
|
|
{
|
|
Default = 0,
|
|
AppWasSuspended = 1,
|
|
BuiltInMicMuted = 2,
|
|
}
|
|
|
|
[Watch (8, 0), TV (15, 0), NoMac, iOS (15, 0), MacCatalyst (15,0)]
|
|
interface SpatialPlaybackCapabilitiesChangedEventArgs {
|
|
[Export ("AVAudioSessionSpatialAudioEnabledKey")]
|
|
bool SpatialAudioEnabledKey { get; }
|
|
}
|
|
|
|
[Mac (11,0)]
|
|
[Watch (3,0)]
|
|
#if MONOMAC
|
|
[Static]
|
|
#endif
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // for binary compatibility this is added in AVAudioSession.cs w/[Obsolete]
|
|
interface AVAudioSession {
|
|
|
|
[NoMac]
|
|
[Export ("sharedInstance"), Static]
|
|
AVAudioSession SharedInstance ();
|
|
|
|
[NoWatch, NoMac]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AVAudioSession.Notification.Observe*' methods instead.")]
|
|
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
|
|
[NoTV]
|
|
NSObject WeakDelegate { get; set; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Wrap ("WeakDelegate")]
|
|
[Protocolize]
|
|
[NullAllowed]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AVAudioSession.Notification.Observe*' methods instead.")]
|
|
[NoTV]
|
|
AVAudioSessionDelegate Delegate { get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("setActive:error:")]
|
|
bool SetActive (bool beActive, out NSError outError);
|
|
|
|
#if !NET
|
|
[NoTV, NoMac]
|
|
[Export ("setActive:withFlags:error:")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'SetActive (bool, AVAudioSessionSetActiveOptions, out NSError)' instead.")]
|
|
bool SetActive (bool beActive, AVAudioSessionFlags flags, out NSError outError);
|
|
#endif // !NET
|
|
|
|
[NoMac]
|
|
[Export ("setCategory:error:")]
|
|
bool SetCategory (NSString theCategory, out NSError outError);
|
|
|
|
[NoTV, NoMac]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'SetPreferredSampleRate' instead.")]
|
|
[Export ("setPreferredHardwareSampleRate:error:")]
|
|
bool SetPreferredHardwareSampleRate (double sampleRate, out NSError outError);
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("setPreferredIOBufferDuration:error:")]
|
|
bool SetPreferredIOBufferDuration (double duration, out NSError outError);
|
|
|
|
[NoMac]
|
|
[Export ("category")]
|
|
NSString Category { get; }
|
|
|
|
[NoMac]
|
|
[Export ("mode")]
|
|
NSString Mode { get; }
|
|
|
|
[NoMac]
|
|
[Export ("setMode:error:")]
|
|
bool SetMode (NSString mode, out NSError error);
|
|
|
|
[NoTV, NoMac]
|
|
[Export ("preferredHardwareSampleRate")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'PreferredSampleRate' instead.")]
|
|
double PreferredHardwareSampleRate { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("preferredIOBufferDuration")]
|
|
double PreferredIOBufferDuration { get; }
|
|
|
|
[NoTV, NoMac]
|
|
[Export ("inputIsAvailable")]
|
|
[Deprecated (PlatformName.iOS, 6, 0)]
|
|
bool InputIsAvailable { get; }
|
|
|
|
[NoTV, NoMac]
|
|
[Export ("currentHardwareSampleRate")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'SampleRate' instead.")]
|
|
double CurrentHardwareSampleRate { get; }
|
|
|
|
[NoTV, NoMac]
|
|
[Export ("currentHardwareInputNumberOfChannels")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'InputNumberOfChannels' instead.")]
|
|
nint CurrentHardwareInputNumberOfChannels { get; }
|
|
|
|
[NoTV, NoMac]
|
|
[Export ("currentHardwareOutputNumberOfChannels")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'OutputNumberOfChannels' instead.")]
|
|
nint CurrentHardwareOutputNumberOfChannels { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionCategoryAmbient")]
|
|
NSString CategoryAmbient { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionCategorySoloAmbient")]
|
|
NSString CategorySoloAmbient { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionCategoryPlayback")]
|
|
NSString CategoryPlayback { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionCategoryRecord")]
|
|
NSString CategoryRecord { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionCategoryPlayAndRecord")]
|
|
NSString CategoryPlayAndRecord { get; }
|
|
|
|
[NoTV][NoWatch][NoMac]
|
|
[Deprecated (PlatformName.iOS, 10, 0)]
|
|
[Field ("AVAudioSessionCategoryAudioProcessing")]
|
|
NSString CategoryAudioProcessing { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionModeDefault")]
|
|
NSString ModeDefault { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionModeVoiceChat")]
|
|
NSString ModeVoiceChat { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionModeVideoRecording")]
|
|
NSString ModeVideoRecording { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionModeMeasurement")]
|
|
NSString ModeMeasurement { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionModeGameChat")]
|
|
NSString ModeGameChat { get; }
|
|
|
|
[Watch (5, 0), TV (12, 0), NoMac, iOS (12, 0)]
|
|
[Field ("AVAudioSessionModeVoicePrompt")]
|
|
NSString VoicePrompt { get; }
|
|
|
|
[NoMac]
|
|
[Export ("setActive:withOptions:error:")]
|
|
bool SetActive (bool active, AVAudioSessionSetActiveOptions options, out NSError outError);
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Export ("availableCategories")]
|
|
string [] AvailableCategories { get; }
|
|
|
|
[NoMac]
|
|
[Export ("setCategory:withOptions:error:")]
|
|
bool SetCategory (string category, AVAudioSessionCategoryOptions options, out NSError outError);
|
|
|
|
[NoMac]
|
|
[iOS (10,0), TV (10,0)]
|
|
[Export ("setCategory:mode:options:error:")]
|
|
bool SetCategory (string category, string mode, AVAudioSessionCategoryOptions options, out NSError outError);
|
|
|
|
[NoMac]
|
|
[Export ("categoryOptions")]
|
|
AVAudioSessionCategoryOptions CategoryOptions { get; }
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Export ("availableModes")]
|
|
string [] AvailableModes { get; }
|
|
|
|
[NoMac]
|
|
[Export ("overrideOutputAudioPort:error:")]
|
|
bool OverrideOutputAudioPort (AVAudioSessionPortOverride portOverride, out NSError outError);
|
|
|
|
[NoMac]
|
|
[Export ("otherAudioPlaying")]
|
|
bool OtherAudioPlaying { [Bind ("isOtherAudioPlaying")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("currentRoute")]
|
|
AVAudioSessionRouteDescription CurrentRoute { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("setPreferredSampleRate:error:")]
|
|
bool SetPreferredSampleRate (double sampleRate, out NSError error);
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("preferredSampleRate")]
|
|
double PreferredSampleRate { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("inputGain")]
|
|
float InputGain { get; } // defined as 'float'
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("inputGainSettable")]
|
|
bool InputGainSettable { [Bind ("isInputGainSettable")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("inputAvailable")]
|
|
bool InputAvailable { [Bind ("isInputAvailable")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("sampleRate")]
|
|
double SampleRate { get; }
|
|
|
|
[NoMac]
|
|
[Export ("inputNumberOfChannels")]
|
|
nint InputNumberOfChannels { get; }
|
|
|
|
[NoMac]
|
|
[Export ("outputNumberOfChannels")]
|
|
nint OutputNumberOfChannels { get; }
|
|
|
|
[NoMac]
|
|
[Export ("outputVolume")]
|
|
float OutputVolume { get; } // defined as 'float'
|
|
|
|
[NoMac]
|
|
[Export ("inputLatency")]
|
|
double InputLatency { get; }
|
|
|
|
[NoMac]
|
|
[Export ("outputLatency")]
|
|
double OutputLatency { get; }
|
|
|
|
[NoMac]
|
|
[Export ("IOBufferDuration")]
|
|
double IOBufferDuration { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("setInputGain:error:")]
|
|
bool SetInputGain (float /* defined as 'float' */ gain, out NSError outError);
|
|
|
|
[Field ("AVAudioSessionInterruptionNotification")]
|
|
[Notification (typeof (AVAudioSessionInterruptionEventArgs))]
|
|
NSString InterruptionNotification { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionRouteChangeNotification")]
|
|
[Notification (typeof (AVAudioSessionRouteChangeEventArgs))]
|
|
NSString RouteChangeNotification { get; }
|
|
|
|
[Field ("AVAudioSessionMediaServicesWereResetNotification")]
|
|
[Notification]
|
|
NSString MediaServicesWereResetNotification { get; }
|
|
|
|
[iOS (7,0), Notification, Field ("AVAudioSessionMediaServicesWereLostNotification")]
|
|
NSString MediaServicesWereLostNotification { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionCategoryMultiRoute")]
|
|
NSString CategoryMultiRoute { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionModeMoviePlayback")]
|
|
NSString ModeMoviePlayback { get; }
|
|
|
|
[NoMac]
|
|
[iOS (7,0)]
|
|
[Field ("AVAudioSessionModeVideoChat")]
|
|
NSString ModeVideoChat { get; }
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Field ("AVAudioSessionModeSpokenAudio")]
|
|
NSString ModeSpokenAudio { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortLineIn")]
|
|
NSString PortLineIn { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortBuiltInMic")]
|
|
NSString PortBuiltInMic { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortHeadsetMic")]
|
|
NSString PortHeadsetMic { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortLineOut")]
|
|
NSString PortLineOut { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortHeadphones")]
|
|
NSString PortHeadphones { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortBluetoothA2DP")]
|
|
NSString PortBluetoothA2DP { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortBuiltInReceiver")]
|
|
NSString PortBuiltInReceiver { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortBuiltInSpeaker")]
|
|
NSString PortBuiltInSpeaker { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortHDMI")]
|
|
NSString PortHdmi { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortAirPlay")]
|
|
NSString PortAirPlay { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortBluetoothHFP")]
|
|
NSString PortBluetoothHfp { get; }
|
|
|
|
[NoMac]
|
|
[Field ("AVAudioSessionPortUSBAudio")]
|
|
NSString PortUsbAudio { get; }
|
|
|
|
[NoMac]
|
|
[iOS (7,0)]
|
|
[Field ("AVAudioSessionPortBluetoothLE")]
|
|
NSString PortBluetoothLE { get; }
|
|
|
|
[NoMac]
|
|
[iOS (7,1)]
|
|
[Field ("AVAudioSessionPortCarAudio")]
|
|
NSString PortCarAudio { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), NoMac, iOS (14, 0)]
|
|
[Field ("AVAudioSessionPortAVB")]
|
|
NSString PortAvb { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), NoMac, iOS (14, 0)]
|
|
[Field ("AVAudioSessionPortDisplayPort")]
|
|
NSString PortDisplayPort { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), NoMac, iOS (14, 0)]
|
|
[Field ("AVAudioSessionPortFireWire")]
|
|
NSString PortFireWire { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), NoMac, iOS (14, 0)]
|
|
[Field ("AVAudioSessionPortPCI")]
|
|
NSString PortPci { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), NoMac, iOS (14, 0)]
|
|
[Field ("AVAudioSessionPortThunderbolt")]
|
|
NSString PortThunderbolt { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), NoMac, iOS (14, 0)]
|
|
[Field ("AVAudioSessionPortVirtual")]
|
|
NSString PortVirtual { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionLocationUpper")]
|
|
NSString LocationUpper { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionLocationLower")]
|
|
NSString LocationLower { get; }
|
|
|
|
[NoMac]
|
|
[Export ("inputDataSources"), NullAllowed]
|
|
AVAudioSessionDataSourceDescription [] InputDataSources { get; }
|
|
|
|
[NoMac]
|
|
[Export ("inputDataSource"), NullAllowed]
|
|
AVAudioSessionDataSourceDescription InputDataSource { get; }
|
|
|
|
[NoMac]
|
|
[Export ("outputDataSources"), NullAllowed]
|
|
AVAudioSessionDataSourceDescription [] OutputDataSources { get; }
|
|
|
|
[NoMac]
|
|
[Export ("outputDataSource"), NullAllowed]
|
|
AVAudioSessionDataSourceDescription OutputDataSource { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("setInputDataSource:error:")]
|
|
[PostGet ("InputDataSource")]
|
|
bool SetInputDataSource ([NullAllowed] AVAudioSessionDataSourceDescription dataSource, out NSError outError);
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("setOutputDataSource:error:")]
|
|
[PostGet ("OutputDataSource")]
|
|
bool SetOutputDataSource ([NullAllowed] AVAudioSessionDataSourceDescription dataSource, out NSError outError);
|
|
|
|
[NoTV, NoMac]
|
|
[Watch (4,0)]
|
|
[iOS (7,0)]
|
|
[Export ("requestRecordPermission:")]
|
|
void RequestRecordPermission (AVPermissionGranted responseCallback);
|
|
|
|
[NoWatch, iOS (7,0), NoMac]
|
|
[Export ("setPreferredInput:error:")]
|
|
bool SetPreferredInput ([NullAllowed] AVAudioSessionPortDescription inPort, out NSError outError);
|
|
|
|
[NoWatch, iOS (7,0), NoMac]
|
|
[Export ("preferredInput", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioSessionPortDescription PreferredInput { get; }
|
|
|
|
[iOS (7,0), NoMac]
|
|
[NullAllowed, Export ("availableInputs")]
|
|
AVAudioSessionPortDescription [] AvailableInputs { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[iOS (7,0)]
|
|
[Export ("setPreferredInputNumberOfChannels:error:")]
|
|
bool SetPreferredInputNumberOfChannels (nint count, out NSError outError);
|
|
|
|
[NoWatch, NoMac]
|
|
[iOS (7,0)]
|
|
[Export ("preferredInputNumberOfChannels")]
|
|
nint GetPreferredInputNumberOfChannels ();
|
|
|
|
[NoWatch, NoMac]
|
|
[iOS (7,0)]
|
|
[Export ("setPreferredOutputNumberOfChannels:error:")]
|
|
bool SetPreferredOutputNumberOfChannels (nint count, out NSError outError);
|
|
|
|
[NoWatch, NoMac]
|
|
[iOS (7,0)]
|
|
[Export ("preferredOutputNumberOfChannels")]
|
|
nint GetPreferredOutputNumberOfChannels ();
|
|
|
|
[iOS (7,0), NoMac]
|
|
[Export ("maximumInputNumberOfChannels")]
|
|
nint MaximumInputNumberOfChannels { get; }
|
|
|
|
[iOS (7,0), NoMac]
|
|
[Export ("maximumOutputNumberOfChannels")]
|
|
nint MaximumOutputNumberOfChannels { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionOrientationTop")]
|
|
NSString OrientationTop { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionOrientationBottom")]
|
|
NSString OrientationBottom { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionOrientationFront")]
|
|
NSString OrientationFront { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionOrientationBack")]
|
|
NSString OrientationBack { get; }
|
|
|
|
[iOS (8,0)]
|
|
[Field ("AVAudioSessionOrientationLeft")]
|
|
NSString OrientationLeft { get; }
|
|
|
|
[iOS (8,0)]
|
|
[Field ("AVAudioSessionOrientationRight")]
|
|
NSString OrientationRight { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionPolarPatternOmnidirectional")]
|
|
NSString PolarPatternOmnidirectional { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionPolarPatternCardioid")]
|
|
NSString PolarPatternCardioid { get; }
|
|
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Field ("AVAudioSessionPolarPatternSubcardioid")]
|
|
NSString PolarPatternSubcardioid { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (14, 0)]
|
|
[Field ("AVAudioSessionPolarPatternStereo")]
|
|
NSString PolarPatternStereo { get; }
|
|
|
|
// 8.0
|
|
[NoTV, NoMac]
|
|
[iOS (8,0), Watch (5,0)]
|
|
[Export ("recordPermission")]
|
|
AVAudioSessionRecordPermission RecordPermission { get; }
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("secondaryAudioShouldBeSilencedHint")]
|
|
bool SecondaryAudioShouldBeSilencedHint { get; }
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Field ("AVAudioSessionSilenceSecondaryAudioHintNotification")]
|
|
[Notification (typeof (AVAudioSessionSecondaryAudioHintEventArgs))]
|
|
NSString SilenceSecondaryAudioHintNotification { get; }
|
|
|
|
[NoWatch, NoTV, iOS(10,0), NoMac]
|
|
[Export ("setAggregatedIOPreference:error:")]
|
|
bool SetAggregatedIOPreference (AVAudioSessionIOType ioType, out NSError error);
|
|
|
|
[TV (11,0), Watch (5,0), iOS (11,0), NoMac]
|
|
[Export ("setCategory:mode:routeSharingPolicy:options:error:")]
|
|
bool SetCategory (string category, string mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, [NullAllowed] out NSError outError);
|
|
|
|
[TV (11, 0), Watch (5,0), iOS (11, 0), NoMac]
|
|
[Export ("routeSharingPolicy")]
|
|
AVAudioSessionRouteSharingPolicy RouteSharingPolicy { get; }
|
|
|
|
[Async]
|
|
[Watch (5,0), NoTV, NoMac, NoiOS, MacCatalyst (15,0)]
|
|
[Export ("activateWithOptions:completionHandler:")]
|
|
void Activate (AVAudioSessionActivationOptions options, Action<bool, NSError> handler);
|
|
|
|
[Watch (5, 2), TV (12, 2), NoMac, iOS (12, 2)]
|
|
[Export ("promptStyle")]
|
|
AVAudioSessionPromptStyle PromptStyle { get; }
|
|
|
|
[Watch (6,0), TV (13,0), NoMac, iOS (13,0)]
|
|
[Export ("setAllowHapticsAndSystemSoundsDuringRecording:error:")]
|
|
bool SetAllowHapticsAndSystemSoundsDuringRecording (bool inValue, [NullAllowed] out NSError outError);
|
|
|
|
[Watch (6,0), TV (13,0), NoMac, iOS (13,0)]
|
|
[Export ("allowHapticsAndSystemSoundsDuringRecording")]
|
|
bool AllowHapticsAndSystemSoundsDuringRecording { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (14, 0)]
|
|
[Export ("preferredInputOrientation")]
|
|
AVAudioStereoOrientation PreferredInputOrientation { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (14,0)]
|
|
[Export ("setPreferredInputOrientation:error:")]
|
|
bool SetPreferredInputOrientation (AVAudioStereoOrientation orientation, [NullAllowed] out NSError outError);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (14, 0)]
|
|
[Export ("inputOrientation")]
|
|
AVAudioStereoOrientation InputOrientation { get; }
|
|
|
|
[Watch (7,4), TV (14,5), NoMac, iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("setPrefersNoInterruptionsFromSystemAlerts:error:")]
|
|
bool SetPrefersNoInterruptionsFromSystemAlerts (bool inValue, [NullAllowed] out NSError outError);
|
|
|
|
[Watch (7, 4), TV (14, 5), NoMac, iOS (14, 5)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("prefersNoInterruptionsFromSystemAlerts")]
|
|
bool PrefersNoInterruptionsFromSystemAlerts { get; }
|
|
|
|
[Watch (8,0), TV (15,0), NoMac, iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("setSupportsMultichannelContent:error:")]
|
|
bool SetSupportsMultichannelContent (bool inValue, [NullAllowed] out NSError outError);
|
|
|
|
[Watch (8, 0), TV (15, 0), NoMac, iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("supportsMultichannelContent")]
|
|
bool SupportsMultichannelContent { get; }
|
|
|
|
[Notification (typeof (SpatialPlaybackCapabilitiesChangedEventArgs))]
|
|
[Watch (8,0), TV (15,0), NoMac, iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVAudioSessionSpatialPlaybackCapabilitiesChangedNotification")]
|
|
NSString SpatialPlaybackCapabilitiesChangedNotification { get; }
|
|
}
|
|
|
|
[NoMac]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioSessionDataSourceDescription {
|
|
[Export ("dataSourceID")]
|
|
NSNumber DataSourceID { get; }
|
|
|
|
[Export ("dataSourceName")]
|
|
string DataSourceName { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("location", ArgumentSemantic.Copy), NullAllowed]
|
|
[Internal]
|
|
NSString Location_ { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("orientation", ArgumentSemantic.Copy), NullAllowed]
|
|
[Internal]
|
|
NSString Orientation_ { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Export ("supportedPolarPatterns"), NullAllowed]
|
|
NSString [] SupportedPolarPatterns { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Export ("selectedPolarPattern", ArgumentSemantic.Copy), NullAllowed]
|
|
NSString SelectedPolarPattern { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Export ("preferredPolarPattern", ArgumentSemantic.Copy), NullAllowed]
|
|
NSString PreferredPolarPattern { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[UnifiedInternal, Export ("setPreferredPolarPattern:error:")]
|
|
bool SetPreferredPolarPattern ([NullAllowed] NSString pattern, out NSError outError);
|
|
|
|
}
|
|
|
|
[Mac (11,0)]
|
|
interface AVAudioSessionInterruptionEventArgs {
|
|
[Export ("AVAudioSessionInterruptionTypeKey")]
|
|
AVAudioSessionInterruptionType InterruptionType { get; }
|
|
|
|
[Export ("AVAudioSessionInterruptionOptionKey")]
|
|
AVAudioSessionInterruptionOptions Option { get; }
|
|
|
|
[iOS (14, 5), Watch (7, 4), NoTV, NoMac]
|
|
[Export ("AVAudioSessionInterruptionReasonKey")]
|
|
AVAudioSessionInterruptionReason Reason { get; }
|
|
|
|
[iOS (10, 3), TV (10, 2), Watch (3, 2)]
|
|
[NullAllowed]
|
|
[Export ("AVAudioSessionInterruptionWasSuspendedKey")]
|
|
bool WasSuspended { get; }
|
|
}
|
|
|
|
[NoMac]
|
|
interface AVAudioSessionRouteChangeEventArgs {
|
|
[Export ("AVAudioSessionRouteChangeReasonKey")]
|
|
AVAudioSessionRouteChangeReason Reason { get; }
|
|
|
|
[Export ("AVAudioSessionRouteChangePreviousRouteKey")]
|
|
AVAudioSessionRouteDescription PreviousRoute { get; }
|
|
}
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 6, 0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
[NoTV][NoWatch]
|
|
interface AVAudioSessionDelegate {
|
|
[Export ("beginInterruption")]
|
|
void BeginInterruption ();
|
|
|
|
[Export ("endInterruption")]
|
|
void EndInterruption ();
|
|
|
|
[Export ("inputIsAvailableChanged:")]
|
|
void InputIsAvailableChanged (bool isInputAvailable);
|
|
|
|
[Export ("endInterruptionWithFlags:")]
|
|
#if NET
|
|
void EndInterruption (AVAudioSessionInterruptionOptions flags);
|
|
#else
|
|
void EndInterruption (AVAudioSessionInterruptionFlags flags);
|
|
#endif
|
|
}
|
|
|
|
[NoMac]
|
|
[Watch (3,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioSessionChannelDescription {
|
|
[Export ("channelName")]
|
|
string ChannelName { get; }
|
|
|
|
[Export ("owningPortUID")]
|
|
string OwningPortUID { get; }
|
|
|
|
[Export ("channelNumber")]
|
|
nint ChannelNumber { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("channelLabel")]
|
|
int /* AudioChannelLabel = UInt32 */ ChannelLabel { get; }
|
|
}
|
|
|
|
[NoMac]
|
|
[Watch (3,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioSessionPortDescription {
|
|
[Export ("portType")]
|
|
NSString PortType { get; }
|
|
|
|
[Export ("portName")]
|
|
string PortName { get; }
|
|
|
|
[Export ("UID")]
|
|
string UID { get; }
|
|
|
|
[iOS (10, 0), TV (10,0)]
|
|
[Export ("hasHardwareVoiceCallProcessing")]
|
|
bool HasHardwareVoiceCallProcessing { get; }
|
|
|
|
[Export ("channels"), NullAllowed]
|
|
AVAudioSessionChannelDescription [] Channels { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("dataSources"), NullAllowed]
|
|
#if NET
|
|
AVAudioSessionDataSourceDescription [] DataSources { get; }
|
|
#else
|
|
AVAudioSessionDataSourceDescription [] DataSourceDescriptions { get; }
|
|
#endif
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Export ("selectedDataSource", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioSessionDataSourceDescription SelectedDataSource { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Export ("preferredDataSource", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioSessionDataSourceDescription PreferredDataSource { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Export ("setPreferredDataSource:error:")]
|
|
bool SetPreferredDataSource ([NullAllowed] AVAudioSessionDataSourceDescription dataSource, out NSError outError);
|
|
|
|
[Watch (8,0), TV (15,0), NoMac, iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("spatialAudioEnabled")]
|
|
bool SpatialAudioEnabled { [Bind ("isSpatialAudioEnabled")] get; }
|
|
}
|
|
|
|
[NoMac]
|
|
[Watch (3,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioSessionRouteDescription {
|
|
[Export ("inputs")]
|
|
AVAudioSessionPortDescription [] Inputs { get; }
|
|
|
|
[Export ("outputs")]
|
|
AVAudioSessionPortDescription [] Outputs { get; }
|
|
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioNode))]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioUnit {
|
|
[Export ("audioComponentDescription"), Internal]
|
|
AudioComponentDescription AudioComponentDescription { get; }
|
|
|
|
[Export ("audioUnit")]
|
|
global::AudioUnit.AudioUnit AudioUnit { get; }
|
|
|
|
[Export ("name")]
|
|
string Name { get; }
|
|
|
|
[Export ("manufacturerName")]
|
|
string ManufacturerName { get; }
|
|
|
|
[Export ("version")]
|
|
nuint Version { get; }
|
|
|
|
[Export ("loadAudioUnitPresetAtURL:error:")]
|
|
bool LoadAudioUnitPreset (NSUrl url, out NSError error);
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Static]
|
|
[Export ("instantiateWithComponentDescription:options:completionHandler:")]
|
|
[Async]
|
|
void FromComponentDescription (AudioComponentDescription audioComponentDescription, AudioComponentInstantiationOptions options, Action<AVAudioUnit, NSError> completionHandler);
|
|
|
|
[NoWatch, iOS (9,0), Mac (10,11)]
|
|
[Export ("AUAudioUnit")]
|
|
AUAudioUnit AUAudioUnit { get; }
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnitEffect))]
|
|
interface AVAudioUnitDelay {
|
|
[Export ("delayTime")]
|
|
double DelayTime { get; set; }
|
|
|
|
[Export ("feedback")]
|
|
float Feedback { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("lowPassCutoff")]
|
|
float LowPassCutoff { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("wetDryMix")]
|
|
float WetDryMix { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnitEffect))]
|
|
interface AVAudioUnitDistortion {
|
|
[Export ("preGain")]
|
|
float PreGain { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("wetDryMix")]
|
|
float WetDryMix { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("loadFactoryPreset:")]
|
|
void LoadFactoryPreset (AVAudioUnitDistortionPreset preset);
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnit))]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioUnitEffect {
|
|
[Export ("initWithAudioComponentDescription:")]
|
|
NativeHandle Constructor (AudioComponentDescription audioComponentDescription);
|
|
|
|
[Export ("bypass")]
|
|
bool Bypass { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (AVAudioUnitEffect))]
|
|
interface AVAudioUnitEQ {
|
|
[Export ("initWithNumberOfBands:")]
|
|
NativeHandle Constructor (nuint numberOfBands);
|
|
|
|
[Export ("bands")]
|
|
AVAudioUnitEQFilterParameters [] Bands { get; }
|
|
|
|
[Export ("globalGain")]
|
|
float GlobalGain { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioUnitEQFilterParameters {
|
|
[Export ("filterType", ArgumentSemantic.Assign)]
|
|
AVAudioUnitEQFilterType FilterType { get; set; }
|
|
|
|
[Export ("frequency")]
|
|
float Frequency { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("bandwidth")]
|
|
float Bandwidth { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("gain")]
|
|
float Gain { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("bypass")]
|
|
bool Bypass { get; set; }
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnit))]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioUnitGenerator : AVAudioMixing {
|
|
[Export ("initWithAudioComponentDescription:")]
|
|
NativeHandle Constructor (AudioComponentDescription audioComponentDescription);
|
|
|
|
[Export ("bypass")]
|
|
bool Bypass { get; set; }
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnit), Name="AVAudioUnitMIDIInstrument")]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioUnitMidiInstrument : AVAudioMixing {
|
|
[Export ("initWithAudioComponentDescription:")]
|
|
NativeHandle Constructor (AudioComponentDescription audioComponentDescription);
|
|
|
|
[Export ("startNote:withVelocity:onChannel:")]
|
|
void StartNote (byte note, byte velocity, byte channel);
|
|
|
|
[Export ("stopNote:onChannel:")]
|
|
void StopNote (byte note, byte channel);
|
|
|
|
[Export ("sendController:withValue:onChannel:")]
|
|
void SendController (byte controller, byte value, byte channel);
|
|
|
|
[Export ("sendPitchBend:onChannel:")]
|
|
void SendPitchBend (ushort pitchbend, byte channel);
|
|
|
|
[Export ("sendPressure:onChannel:")]
|
|
void SendPressure (byte pressure, byte channel);
|
|
|
|
[Export ("sendPressureForKey:withValue:onChannel:")]
|
|
void SendPressureForKey (byte key, byte value, byte channel);
|
|
|
|
[Export ("sendProgramChange:onChannel:")]
|
|
void SendProgramChange (byte program, byte channel);
|
|
|
|
[Export ("sendProgramChange:bankMSB:bankLSB:onChannel:")]
|
|
void SendProgramChange (byte program, byte bankMSB, byte bankLSB, byte channel);
|
|
|
|
[Export ("sendMIDIEvent:data1:data2:")]
|
|
void SendMidiEvent (byte midiStatus, byte data1, byte data2);
|
|
|
|
[Export ("sendMIDIEvent:data1:")]
|
|
void SendMidiEvent (byte midiStatus, byte data1);
|
|
|
|
[Export ("sendMIDISysExEvent:")]
|
|
void SendMidiSysExEvent (NSData midiData);
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnitMidiInstrument))]
|
|
interface AVAudioUnitSampler {
|
|
[Export ("stereoPan")]
|
|
float StereoPan { get; set; } /* float, not CGFloat */
|
|
|
|
[Deprecated (PlatformName.MacOSX, 12, 0)]
|
|
[Deprecated (PlatformName.iOS, 15, 0)]
|
|
[Deprecated (PlatformName.TvOS, 15, 0)]
|
|
[Deprecated (PlatformName.WatchOS, 8, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 15, 0)]
|
|
[Export ("masterGain")]
|
|
float MasterGain { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("globalTuning")]
|
|
float GlobalTuning { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("loadSoundBankInstrumentAtURL:program:bankMSB:bankLSB:error:")]
|
|
bool LoadSoundBank (NSUrl bankUrl, byte program, byte bankMSB, byte bankLSB, out NSError outError);
|
|
|
|
[Export ("loadInstrumentAtURL:error:")]
|
|
bool LoadInstrument (NSUrl instrumentUrl, out NSError outError);
|
|
|
|
[Export ("loadAudioFilesAtURLs:error:")]
|
|
bool LoadAudioFiles (NSUrl [] audioFiles, out NSError outError);
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("overallGain")]
|
|
float OverallGain { get; set; }
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnitEffect))]
|
|
interface AVAudioUnitReverb {
|
|
|
|
[Export ("wetDryMix")]
|
|
float WetDryMix { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("loadFactoryPreset:")]
|
|
void LoadFactoryPreset (AVAudioUnitReverbPreset preset);
|
|
}
|
|
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnit))]
|
|
[DisableDefaultCtor] // returns a nil handle
|
|
interface AVAudioUnitTimeEffect {
|
|
[Export ("initWithAudioComponentDescription:")]
|
|
NativeHandle Constructor (AudioComponentDescription audioComponentDescription);
|
|
|
|
[Export ("bypass")]
|
|
bool Bypass { get; set; }
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnitTimeEffect))]
|
|
interface AVAudioUnitTimePitch {
|
|
[Export ("initWithAudioComponentDescription:")]
|
|
NativeHandle Constructor (AudioComponentDescription audioComponentDescription);
|
|
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("pitch")]
|
|
float Pitch { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("overlap")]
|
|
float Overlap { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
[NoWatch, iOS (8,0)]
|
|
[BaseType (typeof (AVAudioUnitTimeEffect))]
|
|
interface AVAudioUnitVarispeed {
|
|
[Export ("initWithAudioComponentDescription:")]
|
|
NativeHandle Constructor (AudioComponentDescription audioComponentDescription);
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioTime {
|
|
[Export ("initWithAudioTimeStamp:sampleRate:")]
|
|
NativeHandle Constructor (ref AudioTimeStamp timestamp, double sampleRate);
|
|
|
|
[Export ("initWithHostTime:")]
|
|
NativeHandle Constructor (ulong hostTime);
|
|
|
|
[Export ("initWithSampleTime:atRate:")]
|
|
NativeHandle Constructor (long sampleTime, double sampleRate);
|
|
|
|
[Export ("initWithHostTime:sampleTime:atRate:")]
|
|
NativeHandle Constructor (ulong hostTime, long sampleTime, double sampleRate);
|
|
|
|
[Export ("hostTimeValid")]
|
|
bool HostTimeValid { [Bind ("isHostTimeValid")] get; }
|
|
|
|
[Export ("hostTime")]
|
|
ulong HostTime { get; }
|
|
|
|
[Export ("sampleTimeValid")]
|
|
bool SampleTimeValid { [Bind ("isSampleTimeValid")] get; }
|
|
|
|
[Export ("sampleTime")]
|
|
long SampleTime { get; }
|
|
|
|
[Export ("sampleRate")]
|
|
double SampleRate { get; }
|
|
|
|
[Export ("audioTimeStamp")]
|
|
AudioTimeStamp AudioTimeStamp { get; }
|
|
|
|
[Static, Export ("timeWithAudioTimeStamp:sampleRate:")]
|
|
AVAudioTime FromAudioTimeStamp (ref AudioTimeStamp timestamp, double sampleRate);
|
|
|
|
[Static, Export ("timeWithHostTime:")]
|
|
AVAudioTime FromHostTime (ulong hostTime);
|
|
|
|
[Static, Export ("timeWithSampleTime:atRate:")]
|
|
AVAudioTime FromSampleTime (long sampleTime, double sampleRate);
|
|
|
|
[Static, Export ("timeWithHostTime:sampleTime:atRate:")]
|
|
AVAudioTime FromHostTime (ulong hostTime, long sampleTime, double sampleRate);
|
|
|
|
[Static, Export ("hostTimeForSeconds:")]
|
|
ulong HostTimeForSeconds (double seconds);
|
|
|
|
[Static, Export ("secondsForHostTime:")]
|
|
double SecondsForHostTime (ulong hostTime);
|
|
|
|
[Export ("extrapolateTimeFromAnchor:")]
|
|
[return: NullAllowed]
|
|
AVAudioTime ExtrapolateTimeFromAnchor (AVAudioTime anchorTime);
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (9,0), Mac(10,11)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // Docs/headers do not state that init is disallowed but if
|
|
// you get an instance that way and try to use it, it will inmediatelly crash also tested in ObjC app same result
|
|
interface AVAudioConverter {
|
|
|
|
[Export ("initFromFormat:toFormat:")]
|
|
NativeHandle Constructor (AVAudioFormat fromFormat, AVAudioFormat toFormat);
|
|
|
|
[Export ("reset")]
|
|
void Reset ();
|
|
|
|
[Export ("inputFormat")]
|
|
AVAudioFormat InputFormat { get; }
|
|
|
|
[Export ("outputFormat")]
|
|
AVAudioFormat OutputFormat { get; }
|
|
|
|
[Export ("channelMap", ArgumentSemantic.Retain)]
|
|
NSNumber[] ChannelMap { get; set; }
|
|
|
|
[NullAllowed, Export ("magicCookie", ArgumentSemantic.Retain)]
|
|
NSData MagicCookie { get; set; }
|
|
|
|
[Export ("downmix")]
|
|
bool Downmix { get; set; }
|
|
|
|
[Export ("dither")]
|
|
bool Dither { get; set; }
|
|
|
|
[Export ("sampleRateConverterQuality", ArgumentSemantic.Assign)]
|
|
nint SampleRateConverterQuality { get; set; }
|
|
|
|
[NullAllowed, Export ("sampleRateConverterAlgorithm", ArgumentSemantic.Retain)]
|
|
string SampleRateConverterAlgorithm { get; set; }
|
|
|
|
[Export ("primeMethod", ArgumentSemantic.Assign)]
|
|
AVAudioConverterPrimeMethod PrimeMethod { get; set; }
|
|
|
|
[Export ("primeInfo", ArgumentSemantic.Assign)]
|
|
AVAudioConverterPrimeInfo PrimeInfo { get; set; }
|
|
|
|
[Export ("convertToBuffer:fromBuffer:error:")]
|
|
bool ConvertToBuffer (AVAudioPcmBuffer outputBuffer, AVAudioPcmBuffer inputBuffer, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("convertToBuffer:error:withInputFromBlock:")]
|
|
AVAudioConverterOutputStatus ConvertToBuffer (AVAudioBuffer outputBuffer, [NullAllowed] out NSError outError, AVAudioConverterInputHandler inputHandler);
|
|
|
|
// AVAudioConverter (Encoding) Category
|
|
// Inlined due to properties
|
|
|
|
[Export ("bitRate", ArgumentSemantic.Assign)]
|
|
nint BitRate { get; set; }
|
|
|
|
[NullAllowed, Export ("bitRateStrategy", ArgumentSemantic.Retain)]
|
|
string BitRateStrategy { get; set; }
|
|
|
|
[Export ("maximumOutputPacketSize")]
|
|
nint MaximumOutputPacketSize { get; }
|
|
|
|
[NullAllowed, Export ("availableEncodeBitRates")]
|
|
NSNumber[] AvailableEncodeBitRates { get; }
|
|
|
|
[NullAllowed, Export ("applicableEncodeBitRates")]
|
|
NSNumber[] ApplicableEncodeBitRates { get; }
|
|
|
|
[NullAllowed, Export ("availableEncodeSampleRates")]
|
|
NSNumber[] AvailableEncodeSampleRates { get; }
|
|
|
|
[NullAllowed, Export ("applicableEncodeSampleRates")]
|
|
NSNumber[] ApplicableEncodeSampleRates { get; }
|
|
|
|
[NullAllowed, Export ("availableEncodeChannelLayoutTags")]
|
|
NSNumber[] AvailableEncodeChannelLayoutTags { get; }
|
|
}
|
|
|
|
[TV (11,2), NoWatch, NoMac, NoiOS]
|
|
[Abstract]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVDisplayCriteria : NSCopying {
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** initialization method -init cannot be sent to an abstract object of class AVAsset: Create a concrete instance!
|
|
[DisableDefaultCtor]
|
|
interface AVAsset : NSCopying {
|
|
[Export ("duration")]
|
|
CMTime Duration { get; }
|
|
|
|
[Export ("preferredRate")]
|
|
float PreferredRate { get; } // defined as 'float'
|
|
|
|
[Export ("preferredVolume")]
|
|
float PreferredVolume { get; } // defined as 'float'
|
|
|
|
[Export ("preferredTransform")]
|
|
CGAffineTransform PreferredTransform { get; }
|
|
|
|
[Export ("naturalSize")]
|
|
[Deprecated (PlatformName.iOS, 5, 0, message : "Use 'NaturalSize/PreferredTransform' as appropriate on the video track instead.")]
|
|
[Deprecated (PlatformName.TvOS, 9, 0, message : "Use 'NaturalSize/PreferredTransform' as appropriate on the video track instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 8, message : "Use 'NaturalSize/PreferredTransform' as appropriate on the video track instead.")]
|
|
CGSize NaturalSize { get; }
|
|
|
|
[TV (11,2), NoWatch, NoMac, NoiOS, NoMacCatalyst]
|
|
[Export ("preferredDisplayCriteria")]
|
|
AVDisplayCriteria PreferredDisplayCriteria { get; }
|
|
|
|
[Export ("providesPreciseDurationAndTiming")]
|
|
bool ProvidesPreciseDurationAndTiming { get; }
|
|
|
|
[Export ("cancelLoading")]
|
|
void CancelLoading ();
|
|
|
|
[Export ("tracks")]
|
|
AVAssetTrack [] Tracks { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Export ("trackWithTrackID:")]
|
|
AVAssetTrack TrackWithTrackID (int /* CMPersistentTrackID = int32_t */ trackID);
|
|
|
|
[Export ("tracksWithMediaType:")]
|
|
AVAssetTrack [] TracksWithMediaType (string mediaType);
|
|
|
|
[Wrap ("TracksWithMediaType (mediaType.GetConstant ())")]
|
|
AVAssetTrack [] GetTracks (AVMediaTypes mediaType);
|
|
|
|
[Export ("tracksWithMediaCharacteristic:")]
|
|
AVAssetTrack [] TracksWithMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Wrap ("TracksWithMediaType (mediaCharacteristic.GetConstant ())")]
|
|
AVAssetTrack [] GetTracks (AVMediaCharacteristics mediaCharacteristic);
|
|
|
|
[Export ("lyrics"), NullAllowed]
|
|
string Lyrics { get; }
|
|
|
|
[Export ("commonMetadata")]
|
|
AVMetadataItem [] CommonMetadata { get; }
|
|
|
|
[Export ("availableMetadataFormats")]
|
|
string [] AvailableMetadataFormats { get; }
|
|
|
|
#if !NET
|
|
[Obsolete ("Use 'GetMetadataForFormat' with enum values AVMetadataFormat.")]
|
|
[Wrap ("GetMetadataForFormat (new NSString (format))", IsVirtual = true)]
|
|
AVMetadataItem [] MetadataForFormat (string format);
|
|
#endif
|
|
[Export ("metadataForFormat:")]
|
|
AVMetadataItem [] GetMetadataForFormat (NSString format);
|
|
|
|
[Wrap ("GetMetadataForFormat (format.GetConstant ()!)")]
|
|
AVMetadataItem [] GetMetadataForFormat (AVMetadataFormat format);
|
|
|
|
[Export ("hasProtectedContent")]
|
|
bool ProtectedContent { get; }
|
|
|
|
[Export ("availableChapterLocales")]
|
|
NSLocale [] AvailableChapterLocales { get; }
|
|
|
|
[Export ("chapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:")]
|
|
AVTimedMetadataGroup [] GetChapterMetadataGroups (NSLocale forLocale, [NullAllowed] AVMetadataItem [] commonKeys);
|
|
|
|
[Export ("isPlayable")]
|
|
bool Playable { get; }
|
|
|
|
[Export ("isExportable")]
|
|
bool Exportable { get; }
|
|
|
|
[Export ("isReadable")]
|
|
bool Readable { get; }
|
|
|
|
[Export ("isComposable")]
|
|
bool Composable { get; }
|
|
|
|
// 5.0 APIs:
|
|
[Static, Export ("assetWithURL:")]
|
|
AVAsset FromUrl (NSUrl url);
|
|
|
|
[Export ("availableMediaCharacteristicsWithMediaSelectionOptions")]
|
|
string [] AvailableMediaCharacteristicsWithMediaSelectionOptions { get; }
|
|
|
|
[NoMac]
|
|
[MacCatalyst (14,0)] // the headers lie, not usable until at least Mac Catalyst 14.0
|
|
[Export ("compatibleWithSavedPhotosAlbum")]
|
|
bool CompatibleWithSavedPhotosAlbum { [Bind ("isCompatibleWithSavedPhotosAlbum")] get; }
|
|
|
|
[Export ("creationDate"), NullAllowed]
|
|
AVMetadataItem CreationDate { get; }
|
|
|
|
[Export ("referenceRestrictions")]
|
|
AVAssetReferenceRestrictions ReferenceRestrictions { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Export ("mediaSelectionGroupForMediaCharacteristic:")]
|
|
AVMediaSelectionGroup MediaSelectionGroupForMediaCharacteristic (string avMediaCharacteristic);
|
|
|
|
[Wrap ("MediaSelectionGroupForMediaCharacteristic (avMediaCharacteristic.GetConstant ()!)")]
|
|
[return: NullAllowed]
|
|
AVMediaSelectionGroup GetMediaSelectionGroupForMediaCharacteristic (AVMediaCharacteristics avMediaCharacteristic);
|
|
|
|
[Export ("statusOfValueForKey:error:")]
|
|
AVKeyValueStatus StatusOfValue (string key, out NSError error);
|
|
|
|
[Export ("loadValuesAsynchronouslyForKeys:completionHandler:")]
|
|
[Async ("LoadValuesTaskAsync")]
|
|
void LoadValuesAsynchronously (string [] keys, Action handler);
|
|
|
|
[Export ("chapterMetadataGroupsBestMatchingPreferredLanguages:")]
|
|
AVTimedMetadataGroup [] GetChapterMetadataGroupsBestMatchingPreferredLanguages (string [] languages);
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,9)]
|
|
[Export ("trackGroups", ArgumentSemantic.Copy)]
|
|
AVAssetTrackGroup [] TrackGroups { get; }
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("metadata")]
|
|
AVMetadataItem [] Metadata { get; }
|
|
|
|
[Export ("unusedTrackID")]
|
|
int /* CMPersistentTrackID -> int32_t */ UnusedTrackId { get; } // TODO: wrong name, should have benn UnusedTrackID
|
|
|
|
[iOS (9,0), Mac(10,11)]
|
|
[Export ("preferredMediaSelection")]
|
|
AVMediaSelection PreferredMediaSelection { get; }
|
|
|
|
// AVAsset (AVAssetFragments) Category
|
|
// This is being inlined because there are no property extensions
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Export ("canContainFragments")]
|
|
bool CanContainFragments { get; }
|
|
|
|
[iOS (9,0), Mac(10,11)]
|
|
[Export ("containsFragments")]
|
|
bool ContainsFragments { get; }
|
|
|
|
[iOS (9,0), Mac(10,11)]
|
|
[Export ("compatibleWithAirPlayVideo")]
|
|
bool CompatibleWithAirPlayVideo { [Bind ("isCompatibleWithAirPlayVideo")] get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVAssetDurationDidChangeNotification")]
|
|
[Notification]
|
|
NSString DurationDidChangeNotification { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVAssetChapterMetadataGroupsDidChangeNotification")]
|
|
[Notification]
|
|
NSString ChapterMetadataGroupsDidChangeNotification { get; }
|
|
|
|
[iOS(9,0), Mac(10,11)]
|
|
[Notification, Field ("AVAssetMediaSelectionGroupsDidChangeNotification")]
|
|
NSString MediaSelectionGroupsDidChangeNotification { get; }
|
|
|
|
[Mac (10,11)]
|
|
[TV (12, 0), NoWatch, iOS (12, 0)]
|
|
[Field ("AVAssetContainsFragmentsDidChangeNotification")]
|
|
[Notification]
|
|
NSString ContainsFragmentsDidChangeNotification { get; }
|
|
|
|
[Mac (10,11)]
|
|
[TV (12, 0), NoWatch, iOS (12, 0)]
|
|
[Field ("AVAssetWasDefragmentedNotification")]
|
|
[Notification]
|
|
NSString WasDefragmentedNotification { get; }
|
|
|
|
[iOS (10, 2), Mac (10,12,2), TV (10, 2)]
|
|
[Export ("overallDurationHint")]
|
|
CMTime OverallDurationHint { get; }
|
|
|
|
[iOS (11, 0), TV (11, 0), Mac (10, 13)]
|
|
[Export ("allMediaSelections")]
|
|
AVMediaSelection[] AllMediaSelections { get; }
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("minimumTimeOffsetFromLive")]
|
|
CMTime MinimumTimeOffsetFromLive { get; }
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("findUnusedTrackIDWithCompletionHandler:")]
|
|
void FindUnusedTrackId (Action<int, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadChapterMetadataGroupsBestMatchingPreferredLanguages:completionHandler:")]
|
|
void LoadChapterMetadataGroups (string[] bestMatchingPreferredLanguages, Action<NSArray<AVTimedMetadataGroup>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadChapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:completionHandler:")]
|
|
void LoadChapterMetadataGroups (NSLocale titleLocale, string[] commonKeys, Action<NSArray<AVTimedMetadataGroup>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadMediaSelectionGroupForMediaCharacteristic:completionHandler:")]
|
|
void LoadMediaSelectionGroup (string mediaCharacteristic, Action<AVMediaSelectionGroup, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadMetadataForFormat:completionHandler:")]
|
|
void LoadMetadata (string format, Action<NSArray<AVMetadataItem>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTrackWithTrackID:completionHandler:")]
|
|
void LoadTrack (int trackId, Action<AVCompositionTrack, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaCharacteristic:completionHandler:")]
|
|
void LoadTrackWithMediaCharacteristics (string mediaCharacteristic, Action<NSArray<AVCompositionTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaType:completionHandler:")]
|
|
void LoadTracksWithMediaType (string mediaType, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
}
|
|
|
|
interface IAVFragmentMinding {}
|
|
|
|
[Protocol]
|
|
[Mac (10,11)]
|
|
[iOS (12, 0), TV (12,0), Watch (6,0)]
|
|
interface AVFragmentMinding {
|
|
|
|
#if !MONOMAC || NET
|
|
[Abstract] // not kept in Mac OS because is a breaking change, in other platforms we are ok
|
|
#endif
|
|
[Export ("isAssociatedWithFragmentMinder")]
|
|
bool IsAssociatedWithFragmentMinder ();
|
|
}
|
|
|
|
[Mac (10,11)]
|
|
[iOS (12, 0), TV (12,0), Watch (6,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (AVUrlAsset))]
|
|
interface AVFragmentedAsset : AVFragmentMinding {
|
|
|
|
[Export ("initWithURL:options:")]
|
|
NativeHandle Constructor (NSUrl url, [NullAllowed] NSDictionary options);
|
|
|
|
[Static]
|
|
[Export ("fragmentedAssetWithURL:options:")]
|
|
AVFragmentedAsset FromUrl (NSUrl url, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("tracks")]
|
|
AVFragmentedAssetTrack [] Tracks { get; }
|
|
}
|
|
|
|
[Mac (10,11)]
|
|
[iOS (12, 0), TV (12,0), Watch (6,0)]
|
|
[Category]
|
|
[BaseType (typeof(AVFragmentedAsset))]
|
|
interface AVFragmentedAsset_AVFragmentedAssetTrackInspection {
|
|
|
|
[Export ("trackWithTrackID:")]
|
|
[return: NullAllowed]
|
|
AVFragmentedAssetTrack GetTrack (int trackID);
|
|
|
|
[Export ("tracksWithMediaType:")]
|
|
AVFragmentedAssetTrack [] GetTracks (string mediaType);
|
|
|
|
[Wrap ("This.GetTracks (mediaType.GetConstant ())")]
|
|
AVFragmentedAssetTrack [] GetTracks (AVMediaTypes mediaType);
|
|
|
|
[Export ("tracksWithMediaCharacteristic:")]
|
|
AVFragmentedAssetTrack [] GetTracksWithMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Wrap ("This.GetTracksWithMediaCharacteristic (mediaCharacteristic.GetConstant ())")]
|
|
AVFragmentedAssetTrack [] GetTracks (AVMediaCharacteristics mediaCharacteristic);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTrackWithTrackID:completionHandler:")]
|
|
void LoadTrack (int trackId, Action<AVFragmentedAssetTrack, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaType:completionHandler:")]
|
|
void LoadTracksWithMediaType (string mediaType, Action<NSArray<AVFragmentedAssetTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaCharacteristic:completionHandler:")]
|
|
void LoadTracksWithMediaCharacteristic (string mediaCharacteristic, Action<NSArray<AVFragmentedAssetTrack>, NSError> completionHandler);
|
|
|
|
}
|
|
|
|
[Mac (10,11)]
|
|
[iOS (12,0), TV (12,0), Watch (6,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVFragmentedAssetMinder {
|
|
|
|
[Static]
|
|
[Export ("fragmentedAssetMinderWithAsset:mindingInterval:")]
|
|
AVFragmentedAssetMinder FromAsset (AVAsset asset, double mindingInterval);
|
|
|
|
[Mac (10,14)]
|
|
[Export ("initWithAsset:mindingInterval:")]
|
|
NativeHandle Constructor (IAVFragmentMinding asset, double mindingInterval);
|
|
|
|
[Export ("mindingInterval")]
|
|
double MindingInterval { get; set; }
|
|
|
|
[Export ("assets")]
|
|
AVAsset [] Assets { get; }
|
|
|
|
[Export ("addFragmentedAsset:")]
|
|
void AddFragmentedAsset (AVAsset asset);
|
|
|
|
[Export ("removeFragmentedAsset:")]
|
|
void RemoveFragmentedAsset (AVAsset asset);
|
|
}
|
|
|
|
[Mac (10,11)]
|
|
[iOS (12,0), TV (12,0), Watch (6,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (AVAssetTrack))]
|
|
interface AVFragmentedAssetTrack {
|
|
}
|
|
|
|
interface IAVCaptureFileOutputDelegate {}
|
|
|
|
[NoWatch][NoiOS][NoTV]
|
|
[Unavailable (PlatformName.MacCatalyst)]
|
|
[Protocol, Model]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVCaptureFileOutputDelegate {
|
|
[Abstract]
|
|
[Export ("captureOutputShouldProvideSampleAccurateRecordingStart:")]
|
|
bool ShouldProvideSampleAccurateRecordingStart (AVCaptureOutput captureOutput);
|
|
|
|
[Export ("captureOutput:didOutputSampleBuffer:fromConnection:")]
|
|
void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CMSampleBuffer sampleBuffer, AVCaptureConnection connection);
|
|
}
|
|
|
|
#if NET
|
|
// Making a class abstract has problems: https://github.com/xamarin/xamarin-macios/issues/4969, so we're not doing this yet
|
|
// [Abstract] // Abstract superclass.
|
|
#endif
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, iOS (11,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureSynchronizedData
|
|
{
|
|
[Export ("timestamp")]
|
|
CMTime Timestamp { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, iOS (11,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureSynchronizedDataCollection : INSFastEnumeration
|
|
{
|
|
#if !NET
|
|
[Obsolete ("Use 'GetSynchronizedData' instead.")]
|
|
[Wrap ("GetSynchronizedData (captureOutput)", isVirtual: true)]
|
|
[return: NullAllowed]
|
|
AVCaptureSynchronizedData From (AVCaptureOutput captureOutput);
|
|
|
|
// This is not reexposed because it is not needed you can use 'GetSynchronizedData' instead, also from docs:
|
|
// https://developer.apple.com/documentation/avfoundation/avcapturesynchronizeddatacollection/2873892-objectforkeyedsubscript?language=objc
|
|
// > This call is equivalent to the synchronizedDataForCaptureOutput: method, but allows subscript syntax.
|
|
[Obsolete ("Use 'GetSynchronizedData' instead.")]
|
|
[Export ("objectForKeyedSubscript:")]
|
|
[return: NullAllowed]
|
|
AVCaptureSynchronizedData ObjectForKeyedSubscript (AVCaptureOutput key);
|
|
#endif
|
|
|
|
[Export ("synchronizedDataForCaptureOutput:")]
|
|
[return: NullAllowed]
|
|
AVCaptureSynchronizedData GetSynchronizedData (AVCaptureOutput captureOutput);
|
|
|
|
[Export ("count")]
|
|
nuint Count { get; }
|
|
}
|
|
|
|
interface IAVCaptureDataOutputSynchronizerDelegate {}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, iOS (11,0)]
|
|
[NoMac]
|
|
[Protocol, Model]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVCaptureDataOutputSynchronizerDelegate
|
|
{
|
|
[Abstract]
|
|
[Export ("dataOutputSynchronizer:didOutputSynchronizedDataCollection:")]
|
|
void DidOutputSynchronizedDataCollection (AVCaptureDataOutputSynchronizer synchronizer, AVCaptureSynchronizedDataCollection synchronizedDataCollection);
|
|
}
|
|
|
|
[NoWatch, NoTV, iOS (11,0)]
|
|
[NoMac]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureDataOutputSynchronizer
|
|
{
|
|
[Export ("initWithDataOutputs:")]
|
|
NativeHandle Constructor (AVCaptureOutput[] dataOutputs);
|
|
|
|
[Export ("dataOutputs", ArgumentSemantic.Retain)]
|
|
AVCaptureOutput[] DataOutputs { get; }
|
|
|
|
[Export ("setDelegate:queue:")]
|
|
void SetDelegate ([NullAllowed] IAVCaptureDataOutputSynchronizerDelegate del, [NullAllowed] DispatchQueue delegateCallbackQueue);
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
[NullAllowed]
|
|
IAVCaptureDataOutputSynchronizerDelegate Delegate { get; }
|
|
|
|
[NullAllowed, Export ("delegate")]
|
|
NSObject WeakDelegate { get; }
|
|
|
|
[NullAllowed, Export ("delegateCallbackQueue")]
|
|
DispatchQueue DelegateCallbackQueue { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoMac, NoWatch, NoTV, iOS (11,0)]
|
|
[BaseType (typeof(AVCaptureSynchronizedData))]
|
|
interface AVCaptureSynchronizedSampleBufferData
|
|
{
|
|
[Export ("sampleBuffer")]
|
|
CMSampleBuffer SampleBuffer { get; }
|
|
|
|
[Export ("sampleBufferWasDropped")]
|
|
bool SampleBufferWasDropped { get; }
|
|
|
|
[Export ("droppedReason")]
|
|
AVCaptureOutputDataDroppedReason DroppedReason { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoMac, NoWatch, NoTV, iOS (11,0)]
|
|
[BaseType (typeof(AVCaptureSynchronizedData))]
|
|
interface AVCaptureSynchronizedMetadataObjectData
|
|
{
|
|
[Export ("metadataObjects")]
|
|
AVMetadataObject[] MetadataObjects { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoMac, NoWatch, NoTV, iOS (11,0)]
|
|
[BaseType (typeof(AVCaptureSynchronizedData))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureSynchronizedDepthData
|
|
{
|
|
[Export ("depthData")]
|
|
AVDepthData DepthData { get; }
|
|
|
|
[Export ("depthDataWasDropped")]
|
|
bool DepthDataWasDropped { get; }
|
|
|
|
[Export ("droppedReason")]
|
|
AVCaptureOutputDataDroppedReason DroppedReason { get; }
|
|
}
|
|
|
|
[TV (11,0), Watch (6,0), Mac (10,13), iOS (11,0)]
|
|
[Protocol]
|
|
interface AVQueuedSampleBufferRendering
|
|
{
|
|
[Abstract]
|
|
[Export ("timebase", ArgumentSemantic.Retain)]
|
|
CMTimebase Timebase { get; }
|
|
|
|
[Abstract]
|
|
[Export ("enqueueSampleBuffer:")]
|
|
void Enqueue (CMSampleBuffer sampleBuffer);
|
|
|
|
[Abstract]
|
|
[Export ("flush")]
|
|
void Flush ();
|
|
|
|
[Abstract]
|
|
[Export ("readyForMoreMediaData")]
|
|
bool ReadyForMoreMediaData { [Bind ("isReadyForMoreMediaData")] get; }
|
|
|
|
[Abstract]
|
|
[Export ("requestMediaDataWhenReadyOnQueue:usingBlock:")]
|
|
void RequestMediaData (DispatchQueue queue, Action handler);
|
|
|
|
[Abstract]
|
|
[Export ("stopRequestingMediaData")]
|
|
void StopRequestingMediaData ();
|
|
|
|
#if NET
|
|
[Abstract]
|
|
#endif
|
|
[TV (14,5), Watch (7,4), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("hasSufficientMediaDataForReliablePlaybackStart")]
|
|
bool HasSufficientMediaDataForReliablePlaybackStart { get; }
|
|
}
|
|
|
|
[TV (11,0), Watch (6,0), Mac (10,13), iOS (11,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVSampleBufferAudioRenderer : AVQueuedSampleBufferRendering
|
|
{
|
|
[Export ("status")]
|
|
AVQueuedSampleBufferRenderingStatus Status { get; }
|
|
|
|
[NullAllowed, Export ("error")]
|
|
NSError Error { get; }
|
|
|
|
[NullAllowed, Export ("audioOutputDeviceUniqueID"), NoWatch, NoTV, NoiOS, MacCatalyst (15,0)]
|
|
string AudioOutputDeviceUniqueId { get; set; }
|
|
|
|
[Export ("audioTimePitchAlgorithm")]
|
|
string PitchAlgorithm { get; set; }
|
|
|
|
// AVSampleBufferAudioRenderer_AVSampleBufferAudioRendererVolumeControl
|
|
[Export ("volume")]
|
|
float Volume { get; set; }
|
|
|
|
[Export ("muted")]
|
|
bool Muted { [Bind ("isMuted")] get; set; }
|
|
|
|
// AVSampleBufferAudioRenderer_AVSampleBufferAudioRendererQueueManagement
|
|
|
|
[Async]
|
|
[Export ("flushFromSourceTime:completionHandler:")]
|
|
void Flush (CMTime time, Action<bool> completionHandler);
|
|
|
|
[Notification (typeof (AudioRendererWasFlushedAutomaticallyEventArgs))]
|
|
[Field ("AVSampleBufferAudioRendererWasFlushedAutomaticallyNotification")]
|
|
NSString AudioRendererWasFlushedAutomaticallyNotification { get; }
|
|
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("allowedAudioSpatializationFormats", ArgumentSemantic.Assign)]
|
|
AVAudioSpatializationFormats AllowedAudioSpatializationFormats { get; set; }
|
|
|
|
[Notification]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVSampleBufferAudioRendererOutputConfigurationDidChangeNotification")]
|
|
NSString ConfigurationDidChangeNotification { get; }
|
|
|
|
}
|
|
|
|
[TV (11,0), Watch (6,0), Mac (10,13), iOS (11,0)]
|
|
interface AudioRendererWasFlushedAutomaticallyEventArgs {
|
|
[Internal]
|
|
[Export ("AVSampleBufferAudioRendererFlushTimeKey")]
|
|
NSValue _AudioRendererFlushTime { get; set; }
|
|
}
|
|
|
|
interface IAVQueuedSampleBufferRendering {}
|
|
|
|
[TV (11,0), Watch (6,0), Mac (10,13), iOS (11,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVSampleBufferRenderSynchronizer
|
|
{
|
|
[TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[Field ("AVSampleBufferRenderSynchronizerRateDidChangeNotification")]
|
|
[Notification]
|
|
NSString RateDidChangeNotification { get; }
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[Export ("currentTime")]
|
|
CMTime CurrentTime { get; }
|
|
|
|
[Export ("timebase", ArgumentSemantic.Retain)]
|
|
CMTimebase Timebase { get; }
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; }
|
|
|
|
[Export ("setRate:time:")]
|
|
void SetRate (float rate, CMTime time);
|
|
|
|
[Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("setRate:time:atHostTime:")]
|
|
void SetRate (float rate, CMTime time, CMTime hostTime);
|
|
|
|
[Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("delaysRateChangeUntilHasSufficientMediaData")]
|
|
bool DelaysRateChangeUntilHasSufficientMediaData { get; set; }
|
|
|
|
// AVSampleBufferRenderSynchronizer_AVSampleBufferRenderSynchronizerRendererManagement
|
|
|
|
[Export ("renderers")]
|
|
IAVQueuedSampleBufferRendering[] Renderers { get; }
|
|
|
|
[Export ("addRenderer:")]
|
|
void Add (IAVQueuedSampleBufferRendering renderer);
|
|
|
|
[Async]
|
|
[Export ("removeRenderer:atTime:completionHandler:")]
|
|
void Remove (IAVQueuedSampleBufferRendering renderer, CMTime time, [NullAllowed] Action<bool> completionHandler);
|
|
|
|
// AVSampleBufferRenderSynchronizer_AVSampleBufferRenderSynchronizerTimeObservation
|
|
|
|
// as per the docs the returned observers are an opaque object that you pass as the argument to
|
|
// removeTimeObserver to cancel observation.
|
|
|
|
// Regarding async usage:
|
|
// The delegate can be called multiple times (once for each value in the times array according to the documentation),
|
|
// which makes it a bad fit for [Async]
|
|
|
|
// [Async] -> not added due to comment above
|
|
[Export ("addPeriodicTimeObserverForInterval:queue:usingBlock:")]
|
|
NSObject AddPeriodicTimeObserver (CMTime interval, [NullAllowed] DispatchQueue queue, Action<CMTime> handler);
|
|
|
|
// [Async] -> not added due to comment above
|
|
[Export ("addBoundaryTimeObserverForTimes:queue:usingBlock:")]
|
|
NSObject AddBoundaryTimeObserver (NSValue[] times, [NullAllowed] DispatchQueue queue, Action handler);
|
|
|
|
[Export ("removeTimeObserver:")]
|
|
void RemoveTimeObserver (NSObject observer);
|
|
}
|
|
|
|
[Mac (10,10), NoTV, NoiOS, NoWatch, NoMacCatalyst]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVSampleBufferGenerator {
|
|
|
|
[Export ("initWithAsset:timebase:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVAsset asset, [NullAllowed] CMTimebase timebase);
|
|
|
|
[Export ("createSampleBufferForRequest:")]
|
|
[return: Release]
|
|
[return: NullAllowed]
|
|
CMSampleBuffer CreateSampleBuffer (AVSampleBufferRequest request);
|
|
|
|
[Static]
|
|
[Async]
|
|
[Export ("notifyOfDataReadyForSampleBuffer:completionHandler:")]
|
|
void NotifyOfDataReady (CMSampleBuffer sbuf, Action<bool, NSError> completionHandler);
|
|
}
|
|
|
|
[Mac (10,10), NoTV, NoiOS, NoWatch, NoMacCatalyst]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVSampleBufferRequest {
|
|
|
|
[Export ("initWithStartCursor:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVSampleCursor startCursor);
|
|
|
|
[Export ("startCursor", ArgumentSemantic.Retain)]
|
|
AVSampleCursor StartCursor { get; }
|
|
|
|
[Export ("direction", ArgumentSemantic.Assign)]
|
|
AVSampleBufferRequestDirection Direction { get; set; }
|
|
|
|
[Export ("limitCursor", ArgumentSemantic.Retain), NullAllowed]
|
|
AVSampleCursor LimitCursor { get; set; }
|
|
|
|
[Export ("preferredMinSampleCount", ArgumentSemantic.Assign)]
|
|
nint PreferredMinSampleCount { get; set; }
|
|
|
|
[Export ("maxSampleCount", ArgumentSemantic.Assign)]
|
|
nint MaxSampleCount { get; set; }
|
|
|
|
[Export ("mode", ArgumentSemantic.Assign)]
|
|
AVSampleBufferRequestMode Mode { get; set; }
|
|
|
|
[Export ("overrideTime", ArgumentSemantic.Assign)]
|
|
CMTime OverrideTime { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
// <quote>You create an asset generator using initWithAsset: or assetImageGeneratorWithAsset:</quote> http://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVAssetImageGenerator_Class/Reference/Reference.html
|
|
// calling 'init' returns a NIL handle
|
|
[DisableDefaultCtor]
|
|
interface AVAssetImageGenerator {
|
|
[Export ("maximumSize", ArgumentSemantic.Assign)]
|
|
CGSize MaximumSize { get; set; }
|
|
|
|
[Export ("apertureMode", ArgumentSemantic.Copy), NullAllowed]
|
|
NSString ApertureMode { get; set; }
|
|
|
|
[Export ("videoComposition", ArgumentSemantic.Copy), NullAllowed]
|
|
AVVideoComposition VideoComposition { get; set; }
|
|
|
|
[Export ("appliesPreferredTrackTransform")]
|
|
bool AppliesPreferredTrackTransform { get; set; }
|
|
|
|
[Static]
|
|
[Export ("assetImageGeneratorWithAsset:")]
|
|
AVAssetImageGenerator FromAsset (AVAsset asset);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAsset:")]
|
|
NativeHandle Constructor (AVAsset asset);
|
|
|
|
[Export ("copyCGImageAtTime:actualTime:error:")]
|
|
[return: NullAllowed]
|
|
[return: Release ()]
|
|
CGImage CopyCGImageAtTime (CMTime requestedTime, out CMTime actualTime, out NSError outError);
|
|
|
|
[Export ("generateCGImagesAsynchronouslyForTimes:completionHandler:")]
|
|
void GenerateCGImagesAsynchronously (NSValue[] cmTimesRequestedTimes, AVAssetImageGeneratorCompletionHandler handler);
|
|
|
|
[Export ("cancelAllCGImageGeneration")]
|
|
void CancelAllCGImageGeneration ();
|
|
|
|
[Field ("AVAssetImageGeneratorApertureModeCleanAperture")]
|
|
NSString ApertureModeCleanAperture { get; }
|
|
|
|
[Field ("AVAssetImageGeneratorApertureModeProductionAperture")]
|
|
NSString ApertureModeProductionAperture { get; }
|
|
|
|
[Field ("AVAssetImageGeneratorApertureModeEncodedPixels")]
|
|
NSString ApertureModeEncodedPixels { get; }
|
|
|
|
// 5.0 APIs
|
|
[Export ("requestedTimeToleranceBefore", ArgumentSemantic.Assign)]
|
|
CMTime RequestedTimeToleranceBefore { get; set; }
|
|
|
|
[Export ("requestedTimeToleranceAfter", ArgumentSemantic.Assign)]
|
|
CMTime RequestedTimeToleranceAfter { get; set; }
|
|
|
|
[Mac (10,9)]
|
|
[Export ("asset")]
|
|
AVAsset Asset { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Mac (10,9)]
|
|
[Export ("customVideoCompositor", ArgumentSemantic.Copy), NullAllowed]
|
|
[Protocolize]
|
|
AVVideoCompositing CustomVideoCompositor { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetReader initWithAsset:error:] invalid parameter not satisfying: asset != ((void*)0)
|
|
[DisableDefaultCtor]
|
|
interface AVAssetReader {
|
|
[Export ("asset", ArgumentSemantic.Retain)]
|
|
AVAsset Asset { get; }
|
|
|
|
[Export ("status")]
|
|
AVAssetReaderStatus Status { get; }
|
|
|
|
[Export ("error"), NullAllowed]
|
|
NSError Error { get; }
|
|
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; set; }
|
|
|
|
[Export ("outputs")]
|
|
AVAssetReaderOutput [] Outputs { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Static, Export ("assetReaderWithAsset:error:")]
|
|
AVAssetReader FromAsset (AVAsset asset, out NSError error);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAsset:error:")]
|
|
NativeHandle Constructor (AVAsset asset, out NSError error);
|
|
|
|
[Export ("canAddOutput:")]
|
|
bool CanAddOutput (AVAssetReaderOutput output);
|
|
|
|
[Export ("addOutput:")]
|
|
void AddOutput (AVAssetReaderOutput output);
|
|
|
|
[Export ("startReading")]
|
|
bool StartReading ();
|
|
|
|
[Export ("cancelReading")]
|
|
void CancelReading ();
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** initialization method -init cannot be sent to an abstract object of class AVAssetReaderOutput: Create a concrete instance!
|
|
[DisableDefaultCtor]
|
|
interface AVAssetReaderOutput {
|
|
[Export ("mediaType")]
|
|
string MediaType { get; }
|
|
|
|
[return: NullAllowed, Release]
|
|
[Export ("copyNextSampleBuffer")]
|
|
CMSampleBuffer CopyNextSampleBuffer ();
|
|
|
|
[Export ("alwaysCopiesSampleData")]
|
|
bool AlwaysCopiesSampleData { get; set; }
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("supportsRandomAccess")]
|
|
bool SupportsRandomAccess { get; set; }
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("resetForReadingTimeRanges:")]
|
|
void ResetForReadingTimeRanges (NSValue [] timeRanges);
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("markConfigurationAsFinal")]
|
|
void MarkConfigurationAsFinal ();
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // NSInvalidArgumentException Reason: *** -[AVAssetReaderOutputMetadataAdaptor initWithAssetReaderTrackOutput:] invalid parameter not satisfying: trackOutput != ((void*)0)
|
|
interface AVAssetReaderOutputMetadataAdaptor {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAssetReaderTrackOutput:")]
|
|
NativeHandle Constructor (AVAssetReaderTrackOutput trackOutput);
|
|
|
|
[Export ("assetReaderTrackOutput")]
|
|
AVAssetReaderTrackOutput AssetReaderTrackOutput { get; }
|
|
|
|
[Static, Export ("assetReaderOutputMetadataAdaptorWithAssetReaderTrackOutput:")]
|
|
AVAssetReaderOutputMetadataAdaptor Create (AVAssetReaderTrackOutput trackOutput);
|
|
|
|
[return: NullAllowed]
|
|
[Export ("nextTimedMetadataGroup")]
|
|
AVTimedMetadataGroup NextTimedMetadataGroup ();
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[BaseType (typeof (AVAssetReaderOutput))]
|
|
[DisableDefaultCtor] // NSInvalidArgumentException Reason: *** -[AVAssetReaderSampleReferenceOutput initWithTrack:] invalid parameter not satisfying: track != ((void*)0)
|
|
interface AVAssetReaderSampleReferenceOutput {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithTrack:")]
|
|
NativeHandle Constructor (AVAssetTrack track);
|
|
|
|
[Export ("track")]
|
|
AVAssetTrack Track { get; }
|
|
|
|
[Static, Export ("assetReaderSampleReferenceOutputWithTrack:")]
|
|
AVAssetReaderSampleReferenceOutput Create (AVAssetTrack track);
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (AVAssetReaderOutput))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetReaderTrackOutput initWithTrack:outputSettings:] invalid parameter not satisfying: track != ((void*)0)
|
|
[DisableDefaultCtor]
|
|
interface AVAssetReaderTrackOutput {
|
|
[Export ("track")]
|
|
AVAssetTrack Track { get; }
|
|
|
|
[Internal]
|
|
[Advice ("Use 'Create' method.")]
|
|
[Static, Export ("assetReaderTrackOutputWithTrack:outputSettings:")]
|
|
AVAssetReaderTrackOutput FromTrack (AVAssetTrack track, [NullAllowed] NSDictionary outputSettings);
|
|
|
|
[Static, Wrap ("FromTrack (track, settings.GetDictionary ())")]
|
|
AVAssetReaderTrackOutput Create (AVAssetTrack track, [NullAllowed] AudioSettings settings);
|
|
|
|
[Static, Wrap ("FromTrack (track, settings.GetDictionary ())")]
|
|
AVAssetReaderTrackOutput Create (AVAssetTrack track, [NullAllowed] AVVideoSettingsUncompressed settings);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithTrack:outputSettings:")]
|
|
NativeHandle Constructor (AVAssetTrack track, [NullAllowed] NSDictionary outputSettings);
|
|
|
|
[Wrap ("this (track, settings.GetDictionary ())")]
|
|
NativeHandle Constructor (AVAssetTrack track, [NullAllowed] AudioSettings settings);
|
|
|
|
[Wrap ("this (track, settings.GetDictionary ())")]
|
|
NativeHandle Constructor (AVAssetTrack track, [NullAllowed] AVVideoSettingsUncompressed settings);
|
|
|
|
[Export ("outputSettings"), NullAllowed]
|
|
NSDictionary OutputSettings { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,9)]
|
|
[Export ("audioTimePitchAlgorithm", ArgumentSemantic.Copy)]
|
|
// DOC: this is a AVAudioTimePitch value
|
|
NSString AudioTimePitchAlgorithm { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (AVAssetReaderOutput))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetReaderAudioMixOutput initWithAudioTracks:audioSettings:] invalid parameter not satisfying: audioTracks != ((void*)0)
|
|
[DisableDefaultCtor]
|
|
interface AVAssetReaderAudioMixOutput {
|
|
[Export ("audioTracks")]
|
|
AVAssetTrack [] AudioTracks { get; }
|
|
|
|
[Export ("audioMix", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioMix AudioMix { get; set; }
|
|
|
|
[Internal]
|
|
[Advice ("Use 'Create' method.")]
|
|
[Static, Export ("assetReaderAudioMixOutputWithAudioTracks:audioSettings:")]
|
|
AVAssetReaderAudioMixOutput FromTracks (AVAssetTrack [] audioTracks, [NullAllowed] NSDictionary audioSettings);
|
|
|
|
[Wrap ("FromTracks (audioTracks, settings.GetDictionary ())")]
|
|
AVAssetReaderAudioMixOutput Create (AVAssetTrack [] audioTracks, [NullAllowed] AudioSettings settings);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAudioTracks:audioSettings:")]
|
|
NativeHandle Constructor (AVAssetTrack [] audioTracks, [NullAllowed] NSDictionary audioSettings);
|
|
|
|
[Wrap ("this (audioTracks, settings.GetDictionary ())")]
|
|
NativeHandle Constructor (AVAssetTrack [] audioTracks, [NullAllowed] AudioSettings settings);
|
|
|
|
[Internal]
|
|
[Advice ("Use 'Settings' property.")]
|
|
[Export ("audioSettings"), NullAllowed]
|
|
NSDictionary AudioSettings { get; }
|
|
|
|
[Wrap ("AudioSettings"), NullAllowed]
|
|
AudioSettings Settings { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10, 9)]
|
|
[Export ("audioTimePitchAlgorithm", ArgumentSemantic.Copy)]
|
|
// This is an AVAudioTimePitch constant
|
|
NSString AudioTimePitchAlgorithm { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (AVAssetReaderOutput))]
|
|
// crash application if 'init' is called
|
|
[DisableDefaultCtor]
|
|
interface AVAssetReaderVideoCompositionOutput {
|
|
[Export ("videoTracks")]
|
|
AVAssetTrack [] VideoTracks { get; }
|
|
|
|
[Export ("videoComposition", ArgumentSemantic.Copy), NullAllowed]
|
|
AVVideoComposition VideoComposition { get; set; }
|
|
|
|
[Internal]
|
|
[Advice ("Use 'Create' method.")]
|
|
[Static]
|
|
[Export ("assetReaderVideoCompositionOutputWithVideoTracks:videoSettings:")]
|
|
AVAssetReaderVideoCompositionOutput WeakFromTracks (AVAssetTrack [] videoTracks, [NullAllowed] NSDictionary videoSettings);
|
|
|
|
[Wrap ("WeakFromTracks (videoTracks, settings.GetDictionary ())")]
|
|
[Static]
|
|
AVAssetReaderVideoCompositionOutput Create (AVAssetTrack [] videoTracks, [NullAllowed] CVPixelBufferAttributes settings);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithVideoTracks:videoSettings:")]
|
|
NativeHandle Constructor (AVAssetTrack [] videoTracks, [NullAllowed] NSDictionary videoSettings);
|
|
|
|
[Wrap ("this (videoTracks, settings.GetDictionary ())")]
|
|
NativeHandle Constructor (AVAssetTrack [] videoTracks, [NullAllowed] CVPixelBufferAttributes settings);
|
|
|
|
[Export ("videoSettings"), NullAllowed]
|
|
NSDictionary WeakVideoSettings { get; }
|
|
|
|
[Wrap ("WeakVideoSettings"), NullAllowed]
|
|
CVPixelBufferAttributes UncompressedVideoSettings { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("customVideoCompositor", ArgumentSemantic.Copy), NullAllowed]
|
|
[Protocolize]
|
|
AVVideoCompositing CustomVideoCompositor { get; }
|
|
}
|
|
|
|
[Mac (10,9), NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // no valid handle, docs now says "You do not create resource loader objects yourself."
|
|
interface AVAssetResourceLoader {
|
|
[Export ("delegate", ArgumentSemantic.Weak), NullAllowed]
|
|
[Protocolize]
|
|
AVAssetResourceLoaderDelegate Delegate { get; }
|
|
|
|
[Export ("delegateQueue"), NullAllowed]
|
|
DispatchQueue DelegateQueue { get; }
|
|
|
|
[Export ("setDelegate:queue:")]
|
|
void SetDelegate ([Protocolize][NullAllowed] AVAssetResourceLoaderDelegate resourceLoaderDelegate, [NullAllowed] DispatchQueue delegateQueue);
|
|
|
|
// AVAssetResourceLoader (AVAssetResourceLoaderContentKeySupport) Category
|
|
[iOS (9,0), Mac (10, 11)]
|
|
[Export ("preloadsEligibleContentKeys")]
|
|
bool PreloadsEligibleContentKeys { get; set; }
|
|
}
|
|
|
|
[Mac (10,9), Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVAssetResourceLoaderDelegate {
|
|
#if !NET
|
|
[Abstract]
|
|
#endif
|
|
[NoWatch]
|
|
[Export ("resourceLoader:shouldWaitForLoadingOfRequestedResource:")]
|
|
bool ShouldWaitForLoadingOfRequestedResource (AVAssetResourceLoader resourceLoader, AVAssetResourceLoadingRequest loadingRequest);
|
|
|
|
[NoWatch]
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("resourceLoader:didCancelLoadingRequest:")]
|
|
void DidCancelLoadingRequest (AVAssetResourceLoader resourceLoader, AVAssetResourceLoadingRequest loadingRequest);
|
|
|
|
[NoWatch]
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("resourceLoader:shouldWaitForResponseToAuthenticationChallenge:")]
|
|
bool ShouldWaitForResponseToAuthenticationChallenge (AVAssetResourceLoader resourceLoader, NSUrlAuthenticationChallenge authenticationChallenge);
|
|
|
|
[NoWatch]
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("resourceLoader:didCancelAuthenticationChallenge:")]
|
|
void DidCancelAuthenticationChallenge (AVAssetResourceLoader resourceLoader, NSUrlAuthenticationChallenge authenticationChallenge);
|
|
|
|
[NoWatch]
|
|
[iOS (8,0)]
|
|
[Export ("resourceLoader:shouldWaitForRenewalOfRequestedResource:")]
|
|
bool ShouldWaitForRenewalOfRequestedResource (AVAssetResourceLoader resourceLoader, AVAssetResourceRenewalRequest renewalRequest);
|
|
}
|
|
|
|
[iOS (7,0), Mac (10, 9), NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // crash at 'description' - not meant to be used callable (it's used from a property getter)
|
|
interface AVAssetResourceLoadingDataRequest {
|
|
[Export ("requestedOffset")]
|
|
long RequestedOffset { get; }
|
|
|
|
[Export ("requestedLength")]
|
|
nint RequestedLength { get; }
|
|
|
|
[Export ("currentOffset")]
|
|
long CurrentOffset { get; }
|
|
|
|
[Export ("respondWithData:")]
|
|
void Respond (NSData responseData);
|
|
|
|
[iOS (9,0), Mac (10, 11)]
|
|
[Export ("requestsAllDataToEndOfResource")]
|
|
bool RequestsAllDataToEndOfResource { get; }
|
|
}
|
|
|
|
[Mac (10, 9), NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // not meant be be user created (resource loader job, see documentation)
|
|
interface AVAssetResourceLoadingRequest {
|
|
[Export ("request")]
|
|
NSUrlRequest Request { get; }
|
|
|
|
// note: we cannot use [Bind] here as it would break compatibility with iOS 6.x
|
|
// `isFinished` was only added in iOS 7.0 SDK and cannot be called in earlier versions
|
|
[Export ("isFinished")]
|
|
[iOS (7,0)] // on iOS 6 it was `finished` but it's now rejected by Apple
|
|
bool Finished { get; }
|
|
|
|
[Export ("finishLoadingWithResponse:data:redirect:")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 15, message : "Use the 'Response', 'Redirect' properties and the 'AVAssetResourceLoadingDataRequest.Responds' and 'AVAssetResourceLoadingRequest.FinishLoading' methods instead.")]
|
|
[Deprecated (PlatformName.TvOS, 9, 0, message : "Use the 'Response', 'Redirect' properties and the 'AVAssetResourceLoadingDataRequest.Responds' and 'AVAssetResourceLoadingRequest.FinishLoading' methods instead.")]
|
|
[Deprecated (PlatformName.iOS, 7, 0, message: "Use the 'Response', 'Redirect' properties and the 'AVAssetResourceLoadingDataRequest.Responds' and 'AVAssetResourceLoadingRequest.FinishLoading' methods instead.")]
|
|
void FinishLoading ([NullAllowed] NSUrlResponse usingResponse, [NullAllowed] NSData data, [NullAllowed] NSUrlRequest redirect);
|
|
|
|
[Export ("finishLoadingWithError:")]
|
|
void FinishLoadingWithError ([NullAllowed]NSError error); // TODO: Should have been FinishLoading (NSerror);
|
|
|
|
[Deprecated (PlatformName.MacOSX, 12, 0)]
|
|
[Deprecated (PlatformName.iOS, 15, 0)]
|
|
[Deprecated (PlatformName.TvOS, 15, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 15, 0)]
|
|
[return: NullAllowed]
|
|
[Export ("streamingContentKeyRequestDataForApp:contentIdentifier:options:error:")]
|
|
NSData GetStreamingContentKey (NSData appIdentifier, NSData contentIdentifier, [NullAllowed] NSDictionary options, out NSError error);
|
|
|
|
[Deprecated (PlatformName.MacOSX, 12, 0)]
|
|
[Deprecated (PlatformName.iOS, 15, 0)]
|
|
[Deprecated (PlatformName.TvOS, 15, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 15, 0)]
|
|
[iOS (9,0), Mac (10,15)]
|
|
[Export ("persistentContentKeyFromKeyVendorResponse:options:error:")]
|
|
[return: NullAllowed]
|
|
NSData GetPersistentContentKey (NSData keyVendorResponse, [NullAllowed] NSDictionary<NSString,NSObject> options, out NSError error);
|
|
|
|
[iOS (9,0), Mac (10, 14), NoWatch]
|
|
[Field ("AVAssetResourceLoadingRequestStreamingContentKeyRequestRequiresPersistentKey")]
|
|
NSString StreamingContentKeyRequestRequiresPersistentKey { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("isCancelled")]
|
|
bool IsCancelled { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("contentInformationRequest"), NullAllowed]
|
|
AVAssetResourceLoadingContentInformationRequest ContentInformationRequest { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("dataRequest"), NullAllowed]
|
|
AVAssetResourceLoadingDataRequest DataRequest { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("response", ArgumentSemantic.Copy), NullAllowed]
|
|
NSUrlResponse Response { get; set; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("redirect", ArgumentSemantic.Copy), NullAllowed]
|
|
NSUrlRequest Redirect { get; set; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("finishLoading")]
|
|
void FinishLoading ();
|
|
|
|
[TV (12, 0), Mac (10, 14), iOS (12, 0)]
|
|
[Export ("requestor")]
|
|
AVAssetResourceLoadingRequestor Requestor { get; }
|
|
}
|
|
|
|
[iOS (8,0), NoWatch]
|
|
[DisableDefaultCtor] // not meant be be user created (resource loader job, see documentation) fix crash
|
|
[BaseType (typeof (AVAssetResourceLoadingRequest))]
|
|
interface AVAssetResourceRenewalRequest {
|
|
}
|
|
|
|
|
|
[iOS (7,0), Mac (10, 9), NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // no valid handle, the instance is received (not created) -> see doc
|
|
interface AVAssetResourceLoadingContentInformationRequest {
|
|
[Export ("contentType"), NullAllowed]
|
|
string ContentType { get; set; }
|
|
|
|
[Export ("contentLength")]
|
|
long ContentLength { get; set; }
|
|
|
|
[Export ("byteRangeAccessSupported")]
|
|
bool ByteRangeAccessSupported { [Bind ("isByteRangeAccessSupported")] get; set; }
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("renewalDate", ArgumentSemantic.Copy), NullAllowed]
|
|
NSDate RenewalDate { get; set; }
|
|
|
|
[Watch (4,2), TV (11,2), Mac (10,13,2), iOS (11,2)]
|
|
[NullAllowed, Export ("allowedContentTypes")]
|
|
string[] AllowedContentTypes { get; }
|
|
}
|
|
|
|
interface IAVAssetWriterDelegate { }
|
|
|
|
[TV (14,0), NoWatch, Mac (11,0), iOS (14,0)]
|
|
#if NET
|
|
[Protocol, Model]
|
|
#else
|
|
[Protocol]
|
|
[Model (AutoGeneratedName = true)]
|
|
#endif
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAssetWriterDelegate {
|
|
[Export ("assetWriter:didOutputSegmentData:segmentType:segmentReport:")]
|
|
void DidOutputSegmentData (AVAssetWriter writer, NSData segmentData, AVAssetSegmentType segmentType, [NullAllowed] AVAssetSegmentReport segmentReport);
|
|
|
|
[Export ("assetWriter:didOutputSegmentData:segmentType:")]
|
|
void DidOutputSegmentData (AVAssetWriter writer, NSData segmentData, AVAssetSegmentType segmentType);
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetWriter initWithURL:fileType:error:] invalid parameter not satisfying: outputURL != ((void*)0)
|
|
[DisableDefaultCtor]
|
|
interface AVAssetWriter {
|
|
[Export ("outputURL", ArgumentSemantic.Copy)]
|
|
NSUrl OutputURL { get; }
|
|
|
|
[Export ("outputFileType", ArgumentSemantic.Copy)]
|
|
string OutputFileType { get; }
|
|
|
|
[Export ("status")]
|
|
AVAssetWriterStatus Status { get; }
|
|
|
|
[Export ("error"), NullAllowed]
|
|
NSError Error { get; }
|
|
|
|
[Export ("movieFragmentInterval", ArgumentSemantic.Assign)]
|
|
CMTime MovieFragmentInterval { get; set; }
|
|
|
|
[iOS (9,0), Mac (10,11)] // There is no availability attribute on headers but was introduced on iOS9 and Mac 10.11
|
|
[Export ("overallDurationHint", ArgumentSemantic.Assign)]
|
|
CMTime OverallDurationHint { get; set; }
|
|
|
|
[Export ("shouldOptimizeForNetworkUse")]
|
|
bool ShouldOptimizeForNetworkUse { get; set; }
|
|
|
|
[Export ("inputs")]
|
|
AVAssetWriterInput [] inputs { get; } // TODO: Should have been Inputs
|
|
|
|
[Export ("availableMediaTypes")]
|
|
NSString [] AvailableMediaTypes { get; }
|
|
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem [] Metadata { get; set; }
|
|
|
|
[return: NullAllowed]
|
|
[Static, Export ("assetWriterWithURL:fileType:error:")]
|
|
AVAssetWriter FromUrl (NSUrl outputUrl, string outputFileType, out NSError error);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithURL:fileType:error:")]
|
|
NativeHandle Constructor (NSUrl outputUrl, string outputFileType, out NSError error);
|
|
|
|
[TV (14,0), NoWatch, Mac (11,0), iOS (14,0)]
|
|
[Export ("initWithContentType:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (UTType outputContentType);
|
|
|
|
[Export ("canApplyOutputSettings:forMediaType:")]
|
|
bool CanApplyOutputSettings ([NullAllowed] NSDictionary outputSettings, string mediaType);
|
|
|
|
[Wrap ("CanApplyOutputSettings (outputSettings.GetDictionary (), mediaType)")]
|
|
bool CanApplyOutputSettings (AudioSettings outputSettings, string mediaType);
|
|
|
|
[Wrap ("CanApplyOutputSettings (outputSettings.GetDictionary (), mediaType)")]
|
|
bool CanApplyOutputSettings (AVVideoSettingsCompressed outputSettings, string mediaType);
|
|
|
|
[Export ("canAddInput:")]
|
|
bool CanAddInput (AVAssetWriterInput input);
|
|
|
|
[Export ("addInput:")]
|
|
void AddInput (AVAssetWriterInput input);
|
|
|
|
[Export ("startWriting")]
|
|
bool StartWriting ();
|
|
|
|
[Export ("startSessionAtSourceTime:")]
|
|
void StartSessionAtSourceTime (CMTime startTime);
|
|
|
|
[Export ("endSessionAtSourceTime:")]
|
|
void EndSessionAtSourceTime (CMTime endTime);
|
|
|
|
[Export ("cancelWriting")]
|
|
void CancelWriting ();
|
|
|
|
[Export ("finishWriting")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use the asynchronous 'FinishWriting (NSAction completionHandler)' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 9, 0, message: "Use the asynchronous 'FinishWriting (NSAction completionHandler)' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 9, message: "Use the asynchronous 'FinishWriting (NSAction completionHandler)' instead.")]
|
|
bool FinishWriting ();
|
|
|
|
[Mac (10,9)]
|
|
[Export ("finishWritingWithCompletionHandler:")]
|
|
[Async]
|
|
void FinishWriting (Action completionHandler);
|
|
|
|
[Export ("movieTimeScale")]
|
|
int /* CMTimeScale = int32_t */ MovieTimeScale { get; set; }
|
|
|
|
[Mac (10,9)]
|
|
[iOS (7,0)]
|
|
[Export ("canAddInputGroup:")]
|
|
bool CanAddInputGroup (AVAssetWriterInputGroup inputGroup);
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,9)]
|
|
[Export ("addInputGroup:")]
|
|
void AddInputGroup (AVAssetWriterInputGroup inputGroup);
|
|
|
|
[iOS (7,0), Mac (10,9)]
|
|
[Export ("inputGroups")]
|
|
AVAssetWriterInputGroup [] InputGroups { get; }
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("directoryForTemporaryFiles", ArgumentSemantic.Copy), NullAllowed]
|
|
NSUrl DirectoryForTemporaryFiles { get; set; }
|
|
|
|
// from category AVAssetWriterSegmentation (AVAssetWriter)
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Export ("preferredOutputSegmentInterval", ArgumentSemantic.Assign)]
|
|
CMTime PreferredOutputSegmentInterval { get; set; }
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Export ("initialSegmentStartTime", ArgumentSemantic.Assign)]
|
|
CMTime InitialSegmentStartTime { get; set; }
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Export ("outputFileTypeProfile")]
|
|
[NullAllowed]
|
|
[BindAs (typeof (AVFileTypeProfile))]
|
|
NSString OutputFileTypeProfile { get; set; }
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
IAVAssetWriterDelegate Delegate { get; set; }
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
|
NSObject WeakDelegate { get; set; }
|
|
|
|
[TV (14,0), NoWatch, Mac (11,0), iOS (14,0)]
|
|
[Export ("flushSegment")]
|
|
void FlushSegment ();
|
|
|
|
// from category AVAssetWriterFileTypeSpecificProperties (AVAssetWriter)
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Export ("initialMovieFragmentSequenceNumber")]
|
|
nint InitialMovieFragmentSequenceNumber { get; set; }
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Export ("producesCombinableFragments")]
|
|
bool ProducesCombinableFragments { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetWriterInput initWithMediaType:outputSettings:] invalid parameter not satisfying: mediaType != ((void*)0)
|
|
[DisableDefaultCtor]
|
|
interface AVAssetWriterInput {
|
|
[DesignatedInitializer]
|
|
[Protected]
|
|
[Export ("initWithMediaType:outputSettings:sourceFormatHint:")]
|
|
NativeHandle Constructor (string mediaType, [NullAllowed] NSDictionary outputSettings, [NullAllowed] CMFormatDescription sourceFormatHint);
|
|
|
|
[Wrap ("this (mediaType, outputSettings.GetDictionary (), sourceFormatHint)")]
|
|
NativeHandle Constructor (string mediaType, [NullAllowed] AudioSettings outputSettings, [NullAllowed] CMFormatDescription sourceFormatHint);
|
|
|
|
[Wrap ("this (mediaType, outputSettings.GetDictionary (), sourceFormatHint)")]
|
|
NativeHandle Constructor (string mediaType, [NullAllowed] AVVideoSettingsCompressed outputSettings, [NullAllowed] CMFormatDescription sourceFormatHint);
|
|
|
|
[Static, Internal]
|
|
[Export ("assetWriterInputWithMediaType:outputSettings:sourceFormatHint:")]
|
|
AVAssetWriterInput Create (string mediaType, [NullAllowed] NSDictionary outputSettings, [NullAllowed] CMFormatDescription sourceFormatHint);
|
|
|
|
[Static]
|
|
[Wrap ("Create(mediaType, outputSettings.GetDictionary (), sourceFormatHint)")]
|
|
AVAssetWriterInput Create (string mediaType, [NullAllowed] AudioSettings outputSettings, [NullAllowed] CMFormatDescription sourceFormatHint);
|
|
|
|
[Static]
|
|
[Wrap ("Create(mediaType, outputSettings.GetDictionary (), sourceFormatHint)")]
|
|
AVAssetWriterInput Create (string mediaType, [NullAllowed] AVVideoSettingsCompressed outputSettings, [NullAllowed] CMFormatDescription sourceFormatHint);
|
|
|
|
[Export ("mediaType")]
|
|
string MediaType { get; }
|
|
|
|
[Export ("outputSettings"), NullAllowed]
|
|
NSDictionary OutputSettings { get; }
|
|
|
|
[Export ("transform", ArgumentSemantic.Assign)]
|
|
CGAffineTransform Transform { get; set; }
|
|
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem [] Metadata { get; set; }
|
|
|
|
[Export ("readyForMoreMediaData")]
|
|
bool ReadyForMoreMediaData { [Bind ("isReadyForMoreMediaData")] get; }
|
|
|
|
[Export ("expectsMediaDataInRealTime")]
|
|
bool ExpectsMediaDataInRealTime { get; set; }
|
|
|
|
[Internal]
|
|
[Advice ("Use constructor or 'Create' method instead.")]
|
|
[Static, Export ("assetWriterInputWithMediaType:outputSettings:")]
|
|
AVAssetWriterInput FromType (string mediaType, [NullAllowed] NSDictionary outputSettings);
|
|
|
|
[Static, Wrap ("FromType (mediaType, outputSettings.GetDictionary ())")]
|
|
AVAssetWriterInput Create (string mediaType, [NullAllowed] AudioSettings outputSettings);
|
|
|
|
[Static, Wrap ("FromType (mediaType, outputSettings.GetDictionary ())")]
|
|
AVAssetWriterInput Create (string mediaType, [NullAllowed] AVVideoSettingsCompressed outputSettings);
|
|
|
|
[Protected]
|
|
[Export ("initWithMediaType:outputSettings:")]
|
|
NativeHandle Constructor (string mediaType, [NullAllowed] NSDictionary outputSettings);
|
|
|
|
[Wrap ("this (mediaType, outputSettings.GetDictionary ())")]
|
|
NativeHandle Constructor (string mediaType, [NullAllowed] AudioSettings outputSettings);
|
|
|
|
[Wrap ("this (mediaType, outputSettings.GetDictionary ())")]
|
|
NativeHandle Constructor (string mediaType, [NullAllowed] AVVideoSettingsCompressed outputSettings);
|
|
|
|
[Export ("requestMediaDataWhenReadyOnQueue:usingBlock:")]
|
|
void RequestMediaData (DispatchQueue queue, Action action);
|
|
|
|
[Export ("appendSampleBuffer:")]
|
|
bool AppendSampleBuffer (CMSampleBuffer sampleBuffer);
|
|
|
|
[Export ("markAsFinished")]
|
|
void MarkAsFinished ();
|
|
|
|
[Export ("mediaTimeScale")]
|
|
int /* CMTimeScale = int32_t */ MediaTimeScale { get; set; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("languageCode", ArgumentSemantic.Copy), NullAllowed]
|
|
string LanguageCode { get; set; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("extendedLanguageTag", ArgumentSemantic.Copy), NullAllowed]
|
|
string ExtendedLanguageTag { get; set; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("naturalSize")]
|
|
CGSize NaturalSize { get; set; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("preferredVolume")]
|
|
float PreferredVolume { get; set; } // defined as 'float'
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("marksOutputTrackAsEnabled")]
|
|
bool MarksOutputTrackAsEnabled { get; set; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("canAddTrackAssociationWithTrackOfInput:type:")]
|
|
bool CanAddTrackAssociationWithTrackOfInput (AVAssetWriterInput input, NSString trackAssociationType);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("addTrackAssociationWithTrackOfInput:type:")]
|
|
void AddTrackAssociationWithTrackOfInput (AVAssetWriterInput input, NSString trackAssociationType);
|
|
|
|
[Export ("sourceFormatHint"), NullAllowed]
|
|
CMFormatDescription SourceFormatHint { get; }
|
|
|
|
//
|
|
// AVAssetWriterInputMultiPass Category
|
|
//
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("performsMultiPassEncodingIfSupported")]
|
|
bool PerformsMultiPassEncodingIfSupported { get; set; }
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("canPerformMultiplePasses")]
|
|
bool CanPerformMultiplePasses { get; }
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("currentPassDescription"), NullAllowed]
|
|
AVAssetWriterInputPassDescription CurrentPassDescription { get; }
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("respondToEachPassDescriptionOnQueue:usingBlock:")]
|
|
void SetPassHandler (DispatchQueue queue, Action passHandler);
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("markCurrentPassAsFinished")]
|
|
void MarkCurrentPassAsFinished ();
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("preferredMediaChunkAlignment")]
|
|
nint PreferredMediaChunkAlignment { get; set; }
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("preferredMediaChunkDuration")]
|
|
CMTime PreferredMediaChunkDuration { get; set; }
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("sampleReferenceBaseURL", ArgumentSemantic.Copy), NullAllowed]
|
|
NSUrl SampleReferenceBaseUrl { get; set; }
|
|
|
|
// AVAssetWriterInput_AVAssetWriterInputFileTypeSpecificProperties
|
|
|
|
[iOS (11, 0), Mac (10, 13), TV (11, 0), NoWatch]
|
|
[Export ("mediaDataLocation")]
|
|
string MediaDataLocation { get; set; }
|
|
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAssetWriterInputPassDescription {
|
|
|
|
[Export ("sourceTimeRanges")]
|
|
NSValue [] SourceTimeRanges { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0), Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // NSInvalidArgumentException Reason: *** -[AVAssetWriterInputMetadataAdaptor initWithAssetWriterInput:] invalid parameter not satisfying: input != ((void*)0)
|
|
interface AVAssetWriterInputMetadataAdaptor {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAssetWriterInput:")]
|
|
NativeHandle Constructor (AVAssetWriterInput assetWriterInput);
|
|
|
|
[Export ("assetWriterInput")]
|
|
AVAssetWriterInput AssetWriterInput { get; }
|
|
|
|
[Static, Export ("assetWriterInputMetadataAdaptorWithAssetWriterInput:")]
|
|
AVAssetWriterInputMetadataAdaptor Create (AVAssetWriterInput input);
|
|
|
|
[Export ("appendTimedMetadataGroup:")]
|
|
bool AppendTimedMetadataGroup (AVTimedMetadataGroup timedMetadataGroup);
|
|
}
|
|
|
|
[NoWatch]
|
|
[DisableDefaultCtor] // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetWriterInputGroup initWithInputs:defaultInput:] invalid parameter not satisfying: inputs != ((void*)0)
|
|
[iOS (7,0), Mac (10, 9), BaseType (typeof (AVMediaSelectionGroup))]
|
|
interface AVAssetWriterInputGroup {
|
|
|
|
[Static, Export ("assetWriterInputGroupWithInputs:defaultInput:")]
|
|
AVAssetWriterInputGroup Create (AVAssetWriterInput [] inputs, [NullAllowed] AVAssetWriterInput defaultInput);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithInputs:defaultInput:")]
|
|
NativeHandle Constructor (AVAssetWriterInput [] inputs, [NullAllowed] AVAssetWriterInput defaultInput);
|
|
|
|
[Export ("inputs")]
|
|
AVAssetWriterInput [] Inputs { get; }
|
|
|
|
[Export ("defaultInput", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAssetWriterInput DefaultInput { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetWriterInputPixelBufferAdaptor initWithAssetWriterInput:sourcePixelBufferAttributes:] invalid parameter not satisfying: input != ((void*)0)
|
|
[DisableDefaultCtor]
|
|
interface AVAssetWriterInputPixelBufferAdaptor {
|
|
[Export ("assetWriterInput")]
|
|
AVAssetWriterInput AssetWriterInput { get; }
|
|
|
|
[NullAllowed, Export ("sourcePixelBufferAttributes")]
|
|
NSDictionary SourcePixelBufferAttributes { get; }
|
|
|
|
[Wrap ("SourcePixelBufferAttributes")]
|
|
CVPixelBufferAttributes Attributes { get; }
|
|
|
|
[Export ("pixelBufferPool"), NullAllowed]
|
|
CVPixelBufferPool PixelBufferPool { get; }
|
|
|
|
[Advice ("Use 'Create' method.")]
|
|
[Static, Export ("assetWriterInputPixelBufferAdaptorWithAssetWriterInput:sourcePixelBufferAttributes:")]
|
|
AVAssetWriterInputPixelBufferAdaptor FromInput (AVAssetWriterInput input, [NullAllowed] NSDictionary sourcePixelBufferAttributes);
|
|
|
|
[Static, Wrap ("FromInput (input, attributes.GetDictionary ())")]
|
|
AVAssetWriterInputPixelBufferAdaptor Create (AVAssetWriterInput input, [NullAllowed] CVPixelBufferAttributes attributes);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAssetWriterInput:sourcePixelBufferAttributes:")]
|
|
NativeHandle Constructor (AVAssetWriterInput input, [NullAllowed] NSDictionary sourcePixelBufferAttributes);
|
|
|
|
[Wrap ("this (input, attributes.GetDictionary ())")]
|
|
NativeHandle Constructor (AVAssetWriterInput input, [NullAllowed] CVPixelBufferAttributes attributes);
|
|
|
|
[Export ("appendPixelBuffer:withPresentationTime:")]
|
|
bool AppendPixelBufferWithPresentationTime (CVPixelBuffer pixelBuffer, CMTime presentationTime);
|
|
}
|
|
|
|
[NoWatch, iOS (10,0), TV (10,0), Mac (10,12)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetCache
|
|
{
|
|
[Export ("playableOffline")]
|
|
bool IsPlayableOffline { [Bind ("isPlayableOffline")] get; }
|
|
|
|
[Export ("mediaSelectionOptionsInMediaSelectionGroup:")]
|
|
AVMediaSelectionOption[] GetMediaSelectionOptions (AVMediaSelectionGroup mediaSelectionGroup);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVAsset), Name="AVURLAsset")]
|
|
// 'init' returns NIL
|
|
[DisableDefaultCtor]
|
|
interface AVUrlAsset
|
|
#if !WATCH
|
|
: AVContentKeyRecipient
|
|
#endif
|
|
{
|
|
|
|
[Export ("URL", ArgumentSemantic.Copy)]
|
|
NSUrl Url { get; }
|
|
|
|
[Internal]
|
|
[Advice ("Use constructor or 'Create' method instead.")]
|
|
[Static, Export ("URLAssetWithURL:options:")]
|
|
AVUrlAsset FromUrl (NSUrl url, [NullAllowed] NSDictionary options);
|
|
|
|
[Static]
|
|
[Wrap ("FromUrl (url, options.GetDictionary ())")]
|
|
AVUrlAsset Create (NSUrl url, [NullAllowed] AVUrlAssetOptions options);
|
|
|
|
[Static]
|
|
[Wrap ("FromUrl (url, (NSDictionary) null!)")]
|
|
AVUrlAsset Create (NSUrl url);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithURL:options:")]
|
|
NativeHandle Constructor (NSUrl url, [NullAllowed] NSDictionary options);
|
|
|
|
[Wrap ("this (url, options.GetDictionary ())")]
|
|
NativeHandle Constructor (NSUrl url, [NullAllowed] AVUrlAssetOptions options);
|
|
|
|
[Wrap ("this (url, (NSDictionary) null!)")]
|
|
NativeHandle Constructor (NSUrl url);
|
|
|
|
[return: NullAllowed]
|
|
[Export ("compatibleTrackForCompositionTrack:")]
|
|
AVAssetTrack CompatibleTrack (AVCompositionTrack forCompositionTrack);
|
|
|
|
[Field ("AVURLAssetPreferPreciseDurationAndTimingKey")]
|
|
NSString PreferPreciseDurationAndTimingKey { get; }
|
|
|
|
[NoWatch]
|
|
[Field ("AVURLAssetReferenceRestrictionsKey")]
|
|
NSString ReferenceRestrictionsKey { get; }
|
|
|
|
[Static, Export ("audiovisualMIMETypes")]
|
|
string [] AudiovisualMimeTypes { get; }
|
|
|
|
[Static, Export ("audiovisualTypes")]
|
|
string [] AudiovisualTypes { get; }
|
|
|
|
[Static, Export ("isPlayableExtendedMIMEType:")]
|
|
bool IsPlayable (string extendedMimeType);
|
|
|
|
[Mac (10, 9), NoWatch]
|
|
[Export ("resourceLoader")]
|
|
AVAssetResourceLoader ResourceLoader { get; }
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[Field ("AVURLAssetHTTPCookiesKey")]
|
|
NSString HttpCookiesKey { get; }
|
|
|
|
[iOS (10,0), TV (10,0), Mac (10,12), NoWatch]
|
|
[NullAllowed, Export ("assetCache")]
|
|
AVAssetCache Cache { get; }
|
|
|
|
[iOS (10, 0), TV (10, 0), Mac (10,15)]
|
|
[Field ("AVURLAssetAllowsCellularAccessKey")]
|
|
NSString AllowsCellularAccessKey { get; }
|
|
|
|
[TV (13, 0), Mac (10, 15), iOS (13, 0)]
|
|
[Field ("AVURLAssetAllowsExpensiveNetworkAccessKey")]
|
|
NSString AllowsExpensiveNetworkAccessKey { get; }
|
|
|
|
[TV (13, 0), Mac (10, 15), iOS (13, 0)]
|
|
[Field ("AVURLAssetAllowsConstrainedNetworkAccessKey")]
|
|
NSString AllowsConstrainedNetworkAccessKey { get; }
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[Field ("AVURLAssetShouldSupportAliasDataReferencesKey")]
|
|
NSString ShouldSupportAliasDataReferencesKey { get; }
|
|
|
|
[Watch (8, 0), TV (15, 0), Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("variants")]
|
|
AVAssetVariant[] Variants { get; }
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("findCompatibleTrackForCompositionTrack:completionHandler:")]
|
|
void FindCompatibleTrack (AVCompositionTrack compositionTrack, Action<AVAssetTrack, NSError> completionHandler);
|
|
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVURLAssetURLRequestAttributionKey")]
|
|
NSString RequestAttributionKey { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
// 'init' returns NIL
|
|
[DisableDefaultCtor]
|
|
interface AVAssetTrack : NSCopying {
|
|
[Export ("trackID")]
|
|
int /* CMPersistentTrackID = int32_t */ TrackID { get; }
|
|
|
|
[NullAllowed, Export ("asset", ArgumentSemantic.Weak)]
|
|
AVAsset Asset { get; }
|
|
|
|
[Export ("mediaType")]
|
|
string MediaType { get; }
|
|
|
|
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
|
[Export ("decodable")]
|
|
bool Decodable { [Bind ("isDecodable")] get; }
|
|
|
|
// Weak version
|
|
[Export ("formatDescriptions")]
|
|
NSObject [] FormatDescriptionsAsObjects { get; }
|
|
|
|
[Wrap ("Array.ConvertAll (FormatDescriptionsAsObjects, l => CMFormatDescription.Create (l.Handle, false))")]
|
|
CMFormatDescription[] FormatDescriptions { get; }
|
|
|
|
[Export ("enabled")]
|
|
bool Enabled { [Bind ("isEnabled")] get; }
|
|
|
|
[Export ("selfContained")]
|
|
bool SelfContained { [Bind ("isSelfContained")] get; }
|
|
|
|
[Export ("totalSampleDataLength")]
|
|
long TotalSampleDataLength { get; }
|
|
|
|
[Export ("hasMediaCharacteristic:")]
|
|
bool HasMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; }
|
|
|
|
[Export ("naturalTimeScale")]
|
|
int NaturalTimeScale { get; } // defined as 'CMTimeScale' = int32_t
|
|
|
|
[Export ("estimatedDataRate")]
|
|
float EstimatedDataRate { get; } // defined as 'float'
|
|
|
|
[NullAllowed, Export ("languageCode")]
|
|
string LanguageCode { get; }
|
|
|
|
[NullAllowed, Export ("extendedLanguageTag")]
|
|
string ExtendedLanguageTag { get; }
|
|
|
|
[Export ("naturalSize")]
|
|
CGSize NaturalSize { get; }
|
|
|
|
[Export ("preferredVolume")]
|
|
float PreferredVolume { get; } // defined as 'float'
|
|
|
|
[Export ("preferredTransform")]
|
|
CGAffineTransform PreferredTransform { get; }
|
|
|
|
[Export ("nominalFrameRate")]
|
|
float NominalFrameRate { get; } // defined as 'float'
|
|
|
|
[Export ("segments", ArgumentSemantic.Copy)]
|
|
AVAssetTrackSegment [] Segments { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Export ("segmentForTrackTime:")]
|
|
AVAssetTrackSegment SegmentForTrackTime (CMTime trackTime);
|
|
|
|
[Export ("samplePresentationTimeForTrackTime:")]
|
|
CMTime SamplePresentationTimeForTrackTime (CMTime trackTime);
|
|
|
|
[Export ("availableMetadataFormats")]
|
|
string [] AvailableMetadataFormats { get; }
|
|
|
|
[Export ("commonMetadata")]
|
|
AVMetadataItem [] CommonMetadata { get; }
|
|
|
|
[Export ("metadataForFormat:")]
|
|
AVMetadataItem [] MetadataForFormat (string format);
|
|
|
|
[Export ("isPlayable")]
|
|
bool Playable { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("availableTrackAssociationTypes")]
|
|
NSString [] AvailableTrackAssociationTypes { get; }
|
|
|
|
[iOS (7,0)]
|
|
[Mac (10,10)]
|
|
[Export ("minFrameDuration")]
|
|
CMTime MinFrameDuration { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("associatedTracksOfType:")]
|
|
AVAssetTrack [] GetAssociatedTracks (NSString avAssetTrackTrackAssociationType);
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("metadata")]
|
|
AVMetadataItem [] Metadata { get; }
|
|
|
|
[iOS (8,0), Mac (10, 10)]
|
|
[Export ("requiresFrameReordering")]
|
|
bool RequiresFrameReordering { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVAssetTrackTimeRangeDidChangeNotification")]
|
|
[Notification]
|
|
NSString TimeRangeDidChangeNotification { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVAssetTrackSegmentsDidChangeNotification")]
|
|
[Notification]
|
|
NSString SegmentsDidChangeNotification { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVAssetTrackTrackAssociationsDidChangeNotification")]
|
|
[Notification]
|
|
NSString TrackAssociationsDidChangeNotification { get; }
|
|
|
|
[Mac (10,10), NoiOS, NoTV, NoWatch, MacCatalyst (15,0)]
|
|
[Export ("canProvideSampleCursors")]
|
|
bool CanProvideSampleCursors { get; }
|
|
|
|
[Mac (10,10), NoiOS, NoTV, NoWatch, NoMacCatalyst]
|
|
[return: NullAllowed]
|
|
[Export ("makeSampleCursorWithPresentationTimeStamp:")]
|
|
AVSampleCursor MakeSampleCursor (CMTime presentationTimeStamp);
|
|
|
|
[Mac (10,10), NoiOS, NoTV, NoWatch, NoMacCatalyst]
|
|
[return: NullAllowed]
|
|
[Export ("makeSampleCursorAtFirstSampleInDecodeOrder")]
|
|
AVSampleCursor MakeSampleCursorAtFirstSampleInDecodeOrder ();
|
|
|
|
[Mac (10,10), NoiOS, NoTV, NoWatch, NoMacCatalyst]
|
|
[return: NullAllowed]
|
|
[Export ("makeSampleCursorAtLastSampleInDecodeOrder")]
|
|
AVSampleCursor MakeSampleCursorAtLastSampleInDecodeOrder ();
|
|
|
|
[iOS (13,0), TV (13,0), Mac (10,15)]
|
|
[Export ("hasAudioSampleDependencies")]
|
|
bool HasAudioSampleDependencies { get; }
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadAssociatedTracksOfType:completionHandler:")]
|
|
void LoadAssociatedTracks (string trackAssociationType, Action<NSArray<AVAssetTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadMetadataForFormat:completionHandler:")]
|
|
void LoadMetadata (string format, Action<NSArray<AVMetadataItem>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadSamplePresentationTimeForTrackTime:completionHandler:")]
|
|
void LoadSamplePresentationTime (CMTime trackTime, Action<CMTime, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadSegmentForTrackTime:completionHandler:")]
|
|
void LoadSegment (CMTime trackTime, Action<AVAssetTrackSegment, NSError> completionHandler);
|
|
}
|
|
|
|
[Mac (10,10), NoiOS, NoTV, NoWatch]
|
|
[NoMacCatalyst]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVSampleCursor : NSCopying {
|
|
|
|
[Export ("stepInDecodeOrderByCount:")]
|
|
long StepInDecodeOrder (long stepCount);
|
|
|
|
[Export ("stepInPresentationOrderByCount:")]
|
|
long StepInPresentationOrder (long stepCount);
|
|
|
|
[Export ("stepByDecodeTime:wasPinned:")]
|
|
CMTime StepByDecodeTime (CMTime deltaDecodeTime, out bool wasPinned);
|
|
|
|
[Export ("stepByPresentationTime:wasPinned:")]
|
|
CMTime StepByPresentationTime (CMTime deltaPresentationTime, out bool wasPinned);
|
|
|
|
[Export ("presentationTimeStamp")]
|
|
CMTime PresentationTimeStamp { get; }
|
|
|
|
[Export ("decodeTimeStamp")]
|
|
CMTime DecodeTimeStamp { get; }
|
|
|
|
[Export ("comparePositionInDecodeOrderWithPositionOfCursor:")]
|
|
NSComparisonResult ComparePositionInDecodeOrder (AVSampleCursor positionOfCursor);
|
|
|
|
[Export ("samplesWithEarlierDecodeTimeStampsMayHaveLaterPresentationTimeStampsThanCursor:")]
|
|
bool SamplesWithEarlierDecodeTimeStampsMayHaveLaterPresentationTimeStampsThan (AVSampleCursor positionOfCursor);
|
|
|
|
[Export ("samplesWithLaterDecodeTimeStampsMayHaveEarlierPresentationTimeStampsThanCursor:")]
|
|
bool SamplesWithLaterDecodeTimeStampsMayHaveEarlierPresentationTimeStampsThan (AVSampleCursor positionOfCursor);
|
|
|
|
[Export ("currentSampleDuration")]
|
|
CMTime CurrentSampleDuration { get; }
|
|
|
|
[Export ("copyCurrentSampleFormatDescription")]
|
|
[return: Release]
|
|
CMFormatDescription CopyCurrentSampleFormatDescription ();
|
|
|
|
[Export ("currentSampleSyncInfo")]
|
|
AVSampleCursorSyncInfo CurrentSampleSyncInfo { get; }
|
|
|
|
[Export ("currentSampleDependencyInfo")]
|
|
AVSampleCursorSyncInfo CurrentSampleDependencyInfo { get; }
|
|
|
|
[Mac (10,11)]
|
|
[Export ("samplesRequiredForDecoderRefresh")]
|
|
nint SamplesRequiredForDecoderRefresh { get; }
|
|
|
|
[NullAllowed]
|
|
[Export ("currentChunkStorageURL")]
|
|
NSUrl CurrentChunkStorageUrl { get; }
|
|
|
|
[Export ("currentChunkStorageRange")]
|
|
AVSampleCursorStorageRange CurrentChunkStorageRange { get; }
|
|
|
|
[Export ("currentChunkInfo")]
|
|
AVSampleCursorChunkInfo CurrentChunkInfo { get; }
|
|
|
|
[Export ("currentSampleIndexInChunk")]
|
|
long CurrentSampleIndexInChunk { get; }
|
|
|
|
[Export ("currentSampleStorageRange")]
|
|
AVSampleCursorStorageRange CurrentSampleStorageRange { get; }
|
|
|
|
#if MONOMAC
|
|
[NoiOS][NoWatch][NoTV]
|
|
[Mac (10,15)]
|
|
[Export ("currentSampleAudioDependencyInfo")]
|
|
AVSampleCursorAudioDependencyInfo CurrentSampleAudioDependencyInfo { get; }
|
|
#endif
|
|
|
|
[NoiOS][NoWatch][NoTV]
|
|
[NullAllowed]
|
|
[Mac (12,0)]
|
|
[Export ("currentSampleDependencyAttachments")]
|
|
NSDictionary CurrentSampleDependencyAttachments { get; }
|
|
}
|
|
|
|
[iOS (7,0), Mac (10, 9), Watch (6,0)]
|
|
[Category, BaseType (typeof (AVAssetTrack))]
|
|
interface AVAssetTrackTrackAssociation {
|
|
[Field ("AVTrackAssociationTypeAudioFallback")]
|
|
NSString AudioFallback { get; }
|
|
|
|
[Field ("AVTrackAssociationTypeChapterList")]
|
|
NSString ChapterList { get; }
|
|
|
|
[Field ("AVTrackAssociationTypeForcedSubtitlesOnly")]
|
|
NSString ForcedSubtitlesOnly { get; }
|
|
|
|
[Field ("AVTrackAssociationTypeSelectionFollower")]
|
|
NSString SelectionFollower { get; }
|
|
|
|
[Field ("AVTrackAssociationTypeTimecode")]
|
|
NSString Timecode { get; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVTrackAssociationTypeMetadataReferent")]
|
|
NSString MetadataReferent { get; }
|
|
}
|
|
|
|
[iOS (7,0), Mac (10, 9), Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAssetTrackGroup : NSCopying {
|
|
[Export ("trackIDs", ArgumentSemantic.Copy)]
|
|
NSNumber [] TrackIDs { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVMediaSelectionGroup : NSCopying {
|
|
[Export ("options")]
|
|
AVMediaSelectionOption [] Options { get; }
|
|
|
|
[Export ("allowsEmptySelection")]
|
|
bool AllowsEmptySelection { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Export ("mediaSelectionOptionWithPropertyList:")]
|
|
AVMediaSelectionOption GetMediaSelectionOptionForPropertyList (NSObject propertyList);
|
|
|
|
[Static]
|
|
[Export ("playableMediaSelectionOptionsFromArray:")]
|
|
AVMediaSelectionOption [] PlayableMediaSelectionOptions (AVMediaSelectionOption [] source);
|
|
|
|
[Static]
|
|
[Export ("mediaSelectionOptionsFromArray:withLocale:")]
|
|
AVMediaSelectionOption [] MediaSelectionOptions (AVMediaSelectionOption [] source, NSLocale locale);
|
|
|
|
[Static]
|
|
[Export ("mediaSelectionOptionsFromArray:withMediaCharacteristics:")]
|
|
AVMediaSelectionOption [] MediaSelectionOptions (AVMediaSelectionOption [] source, NSString [] avmediaCharacteristics);
|
|
|
|
[Static]
|
|
[Export ("mediaSelectionOptionsFromArray:withoutMediaCharacteristics:")]
|
|
AVMediaSelectionOption [] MediaSelectionOptionsExcludingCharacteristics (AVMediaSelectionOption [] source, NSString [] avmediaCharacteristics);
|
|
|
|
[Static]
|
|
[Export ("mediaSelectionOptionsFromArray:filteredAndSortedAccordingToPreferredLanguages:")]
|
|
AVMediaSelectionOption[] MediaSelectionOptionsFilteredAndSorted (AVMediaSelectionOption[] mediaSelectionOptions, string[] preferredLanguages);
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Export ("defaultOption"), NullAllowed]
|
|
AVMediaSelectionOption DefaultOption { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVMediaSelectionOption : NSCopying {
|
|
[Export ("mediaType")]
|
|
string MediaType { get; }
|
|
|
|
[Export ("mediaSubTypes")]
|
|
NSNumber [] MediaSubTypes { get; }
|
|
|
|
[Export ("playable")]
|
|
bool Playable { [Bind ("isPlayable")] get; }
|
|
|
|
[Export ("locale"), NullAllowed]
|
|
NSLocale Locale { get; }
|
|
|
|
[Export ("commonMetadata")]
|
|
AVMetadataItem [] CommonMetadata { get; }
|
|
|
|
[Export ("availableMetadataFormats")]
|
|
string [] AvailableMetadataFormats { get; }
|
|
|
|
[Export ("hasMediaCharacteristic:")]
|
|
bool HasMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Export ("metadataForFormat:")]
|
|
AVMetadataItem [] GetMetadataForFormat (string format);
|
|
|
|
[return: NullAllowed]
|
|
[Export ("associatedMediaSelectionOptionInMediaSelectionGroup:")]
|
|
AVMediaSelectionOption AssociatedMediaSelectionOptionInMediaSelectionGroup (AVMediaSelectionGroup mediaSelectionGroup);
|
|
|
|
[Export ("propertyList")]
|
|
NSObject PropertyList { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("displayName")]
|
|
string DisplayName { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("displayNameWithLocale:")]
|
|
string GetDisplayName (NSLocale locale);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("extendedLanguageTag"), NullAllowed]
|
|
string ExtendedLanguageTag { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[Static]
|
|
interface AVMetadata {
|
|
[Field ("AVMetadataKeySpaceCommon")]
|
|
NSString KeySpaceCommon { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyTitle")]
|
|
NSString CommonKeyTitle { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyCreator")]
|
|
NSString CommonKeyCreator { get; }
|
|
|
|
[Field ("AVMetadataCommonKeySubject")]
|
|
NSString CommonKeySubject { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyDescription")]
|
|
NSString CommonKeyDescription { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyPublisher")]
|
|
NSString CommonKeyPublisher { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyContributor")]
|
|
NSString CommonKeyContributor { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyCreationDate")]
|
|
NSString CommonKeyCreationDate { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyLastModifiedDate")]
|
|
NSString CommonKeyLastModifiedDate { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyType")]
|
|
NSString CommonKeyType { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyFormat")]
|
|
NSString CommonKeyFormat { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyIdentifier")]
|
|
NSString CommonKeyIdentifier { get; }
|
|
|
|
[Field ("AVMetadataCommonKeySource")]
|
|
NSString CommonKeySource { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyLanguage")]
|
|
NSString CommonKeyLanguage { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyRelation")]
|
|
NSString CommonKeyRelation { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyLocation")]
|
|
NSString CommonKeyLocation { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyCopyrights")]
|
|
NSString CommonKeyCopyrights { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyAlbumName")]
|
|
NSString CommonKeyAlbumName { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyAuthor")]
|
|
NSString CommonKeyAuthor { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyArtist")]
|
|
NSString CommonKeyArtist { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyArtwork")]
|
|
NSString CommonKeyArtwork { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyMake")]
|
|
NSString CommonKeyMake { get; }
|
|
|
|
[Field ("AVMetadataCommonKeyModel")]
|
|
NSString CommonKeyModel { get; }
|
|
|
|
[Field ("AVMetadataCommonKeySoftware")]
|
|
NSString CommonKeySoftware { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataCommonKeyAccessibilityDescription")]
|
|
NSString CommonKeyAccessibilityDescription { get; }
|
|
|
|
#if !NET
|
|
[Field ("AVMetadataFormatQuickTimeUserData")]
|
|
[Obsolete ("Use 'AVMetadataFormat' enum values")]
|
|
NSString FormatQuickTimeUserData { get; }
|
|
#endif
|
|
|
|
[Field ("AVMetadataKeySpaceQuickTimeUserData")]
|
|
NSString KeySpaceQuickTimeUserData { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyAlbum")]
|
|
NSString QuickTimeUserDataKeyAlbum { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyArranger")]
|
|
NSString QuickTimeUserDataKeyArranger { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyArtist")]
|
|
NSString QuickTimeUserDataKeyArtist { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyAuthor")]
|
|
NSString QuickTimeUserDataKeyAuthor { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyChapter")]
|
|
NSString QuickTimeUserDataKeyChapter { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyComment")]
|
|
NSString QuickTimeUserDataKeyComment { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyComposer")]
|
|
NSString QuickTimeUserDataKeyComposer { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyCopyright")]
|
|
NSString QuickTimeUserDataKeyCopyright { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyCreationDate")]
|
|
NSString QuickTimeUserDataKeyCreationDate { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyDescription")]
|
|
NSString QuickTimeUserDataKeyDescription { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyDirector")]
|
|
NSString QuickTimeUserDataKeyDirector { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyDisclaimer")]
|
|
NSString QuickTimeUserDataKeyDisclaimer { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyEncodedBy")]
|
|
NSString QuickTimeUserDataKeyEncodedBy { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyFullName")]
|
|
NSString QuickTimeUserDataKeyFullName { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyGenre")]
|
|
NSString QuickTimeUserDataKeyGenre { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyHostComputer")]
|
|
NSString QuickTimeUserDataKeyHostComputer { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyInformation")]
|
|
NSString QuickTimeUserDataKeyInformation { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyKeywords")]
|
|
NSString QuickTimeUserDataKeyKeywords { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyMake")]
|
|
NSString QuickTimeUserDataKeyMake { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyModel")]
|
|
NSString QuickTimeUserDataKeyModel { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyOriginalArtist")]
|
|
NSString QuickTimeUserDataKeyOriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyOriginalFormat")]
|
|
NSString QuickTimeUserDataKeyOriginalFormat { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyOriginalSource")]
|
|
NSString QuickTimeUserDataKeyOriginalSource { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyPerformers")]
|
|
NSString QuickTimeUserDataKeyPerformers { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyProducer")]
|
|
NSString QuickTimeUserDataKeyProducer { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyPublisher")]
|
|
NSString QuickTimeUserDataKeyPublisher { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyProduct")]
|
|
NSString QuickTimeUserDataKeyProduct { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeySoftware")]
|
|
NSString QuickTimeUserDataKeySoftware { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeySpecialPlaybackRequirements")]
|
|
NSString QuickTimeUserDataKeySpecialPlaybackRequirements { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyTrack")]
|
|
NSString QuickTimeUserDataKeyTrack { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyWarning")]
|
|
NSString QuickTimeUserDataKeyWarning { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyWriter")]
|
|
NSString QuickTimeUserDataKeyWriter { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyURLLink")]
|
|
NSString QuickTimeUserDataKeyURLLink { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyLocationISO6709")]
|
|
NSString QuickTimeUserDataKeyLocationISO6709 { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyTrackName")]
|
|
NSString QuickTimeUserDataKeyTrackName { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyCredits")]
|
|
NSString QuickTimeUserDataKeyCredits { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyPhonogramRights")]
|
|
NSString QuickTimeUserDataKeyPhonogramRights { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeUserDataKeyTaggedCharacteristic")]
|
|
NSString QuickTimeUserDataKeyTaggedCharacteristic { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataQuickTimeUserDataKeyAccessibilityDescription")]
|
|
NSString QuickTimeUserDataKeyAccessibilityDescription { get; }
|
|
|
|
[Field ("AVMetadataISOUserDataKeyCopyright")]
|
|
NSString ISOUserDataKeyCopyright { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyCopyright")]
|
|
NSString K3GPUserDataKeyCopyright { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyAuthor")]
|
|
NSString K3GPUserDataKeyAuthor { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyPerformer")]
|
|
NSString K3GPUserDataKeyPerformer { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyGenre")]
|
|
NSString K3GPUserDataKeyGenre { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyRecordingYear")]
|
|
NSString K3GPUserDataKeyRecordingYear { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyLocation")]
|
|
NSString K3GPUserDataKeyLocation { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyTitle")]
|
|
NSString K3GPUserDataKeyTitle { get; }
|
|
|
|
[Field ("AVMetadata3GPUserDataKeyDescription")]
|
|
NSString K3GPUserDataKeyDescription { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadata3GPUserDataKeyCollection")]
|
|
NSString K3GPUserDataKeyCollection { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadata3GPUserDataKeyUserRating")]
|
|
NSString K3GPUserDataKeyUserRating { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadata3GPUserDataKeyThumbnail")]
|
|
NSString K3GPUserDataKeyThumbnail { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadata3GPUserDataKeyAlbumAndTrack")]
|
|
NSString K3GPUserDataKeyAlbumAndTrack { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadata3GPUserDataKeyKeywordList")]
|
|
NSString K3GPUserDataKeyKeywordList { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadata3GPUserDataKeyMediaClassification")]
|
|
NSString K3GPUserDataKeyMediaClassification { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadata3GPUserDataKeyMediaRating")]
|
|
NSString K3GPUserDataKeyMediaRating { get; }
|
|
|
|
#if !NET
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadataFormatISOUserData")]
|
|
[Obsolete ("Use 'AVMetadataFormat' enum values")]
|
|
NSString KFormatISOUserData { get; }
|
|
#endif
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVMetadataKeySpaceISOUserData")]
|
|
NSString KKeySpaceISOUserData { get; }
|
|
|
|
[Field ("AVMetadataFormatQuickTimeMetadata")]
|
|
NSString FormatQuickTimeMetadata { get; }
|
|
|
|
[Field ("AVMetadataKeySpaceQuickTimeMetadata")]
|
|
NSString KeySpaceQuickTimeMetadata { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyAuthor")]
|
|
NSString QuickTimeMetadataKeyAuthor { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyComment")]
|
|
NSString QuickTimeMetadataKeyComment { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyCopyright")]
|
|
NSString QuickTimeMetadataKeyCopyright { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyCreationDate")]
|
|
NSString QuickTimeMetadataKeyCreationDate { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyDirector")]
|
|
NSString QuickTimeMetadataKeyDirector { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyDisplayName")]
|
|
NSString QuickTimeMetadataKeyDisplayName { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyInformation")]
|
|
NSString QuickTimeMetadataKeyInformation { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyKeywords")]
|
|
NSString QuickTimeMetadataKeyKeywords { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyProducer")]
|
|
NSString QuickTimeMetadataKeyProducer { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyPublisher")]
|
|
NSString QuickTimeMetadataKeyPublisher { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyAlbum")]
|
|
NSString QuickTimeMetadataKeyAlbum { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyArtist")]
|
|
NSString QuickTimeMetadataKeyArtist { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyArtwork")]
|
|
NSString QuickTimeMetadataKeyArtwork { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyDescription")]
|
|
NSString QuickTimeMetadataKeyDescription { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeySoftware")]
|
|
NSString QuickTimeMetadataKeySoftware { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyYear")]
|
|
NSString QuickTimeMetadataKeyYear { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyGenre")]
|
|
NSString QuickTimeMetadataKeyGenre { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyiXML")]
|
|
NSString QuickTimeMetadataKeyiXML { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyLocationISO6709")]
|
|
NSString QuickTimeMetadataKeyLocationISO6709 { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyMake")]
|
|
NSString QuickTimeMetadataKeyMake { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyModel")]
|
|
NSString QuickTimeMetadataKeyModel { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyArranger")]
|
|
NSString QuickTimeMetadataKeyArranger { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyEncodedBy")]
|
|
NSString QuickTimeMetadataKeyEncodedBy { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyOriginalArtist")]
|
|
NSString QuickTimeMetadataKeyOriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyPerformer")]
|
|
NSString QuickTimeMetadataKeyPerformer { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyComposer")]
|
|
NSString QuickTimeMetadataKeyComposer { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyCredits")]
|
|
NSString QuickTimeMetadataKeyCredits { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyPhonogramRights")]
|
|
NSString QuickTimeMetadataKeyPhonogramRights { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyCameraIdentifier")]
|
|
NSString QuickTimeMetadataKeyCameraIdentifier { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyCameraFrameReadoutTime")]
|
|
NSString QuickTimeMetadataKeyCameraFrameReadoutTime { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyTitle")]
|
|
NSString QuickTimeMetadataKeyTitle { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyCollectionUser")]
|
|
NSString QuickTimeMetadataKeyCollectionUser { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyRatingUser")]
|
|
NSString QuickTimeMetadataKeyRatingUser { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyLocationName")]
|
|
NSString QuickTimeMetadataKeyLocationName { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyLocationBody")]
|
|
NSString QuickTimeMetadataKeyLocationBody { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyLocationNote")]
|
|
NSString QuickTimeMetadataKeyLocationNote { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyLocationRole")]
|
|
NSString QuickTimeMetadataKeyLocationRole { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyLocationDate")]
|
|
NSString QuickTimeMetadataKeyLocationDate { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyDirectionFacing")]
|
|
NSString QuickTimeMetadataKeyDirectionFacing { get; }
|
|
|
|
[Field ("AVMetadataQuickTimeMetadataKeyDirectionMotion")]
|
|
NSString QuickTimeMetadataKeyDirectionMotion { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMetadataQuickTimeMetadataKeyContentIdentifier")]
|
|
NSString QuickTimeMetadataKeyContentIdentifier { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataQuickTimeMetadataKeyAccessibilityDescription")]
|
|
NSString QuickTimeMetadataKeyAccessibilityDescription { get; }
|
|
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVMetadataQuickTimeMetadataKeyIsMontage")]
|
|
NSString QuickTimeMetadataKeyIsMontage { get; }
|
|
|
|
#if !NET
|
|
[Field ("AVMetadataFormatiTunesMetadata")]
|
|
[Obsolete ("Use 'AVMetadataFormat' enum values")]
|
|
NSString FormatiTunesMetadata { get; }
|
|
#endif
|
|
|
|
[Field ("AVMetadataKeySpaceiTunes")]
|
|
NSString KeySpaceiTunes { get; }
|
|
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyAlbum")]
|
|
NSString iTunesMetadataKeyAlbum { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyArtist")]
|
|
NSString iTunesMetadataKeyArtist { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyUserComment")]
|
|
NSString iTunesMetadataKeyUserComment { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyCoverArt")]
|
|
NSString iTunesMetadataKeyCoverArt { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyCopyright")]
|
|
NSString iTunesMetadataKeyCopyright { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyReleaseDate")]
|
|
NSString iTunesMetadataKeyReleaseDate { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyEncodedBy")]
|
|
NSString iTunesMetadataKeyEncodedBy { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyPredefinedGenre")]
|
|
NSString iTunesMetadataKeyPredefinedGenre { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyUserGenre")]
|
|
NSString iTunesMetadataKeyUserGenre { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeySongName")]
|
|
NSString iTunesMetadataKeySongName { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyTrackSubTitle")]
|
|
NSString iTunesMetadataKeyTrackSubTitle { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyEncodingTool")]
|
|
NSString iTunesMetadataKeyEncodingTool { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyComposer")]
|
|
NSString iTunesMetadataKeyComposer { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyAlbumArtist")]
|
|
NSString iTunesMetadataKeyAlbumArtist { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyAccountKind")]
|
|
NSString iTunesMetadataKeyAccountKind { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyAppleID")]
|
|
NSString iTunesMetadataKeyAppleID { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyArtistID")]
|
|
NSString iTunesMetadataKeyArtistID { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeySongID")]
|
|
NSString iTunesMetadataKeySongID { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyDiscCompilation")]
|
|
NSString iTunesMetadataKeyDiscCompilation { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyDiscNumber")]
|
|
NSString iTunesMetadataKeyDiscNumber { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyGenreID")]
|
|
NSString iTunesMetadataKeyGenreID { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyGrouping")]
|
|
NSString iTunesMetadataKeyGrouping { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyPlaylistID")]
|
|
NSString iTunesMetadataKeyPlaylistID { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyContentRating")]
|
|
NSString iTunesMetadataKeyContentRating { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyBeatsPerMin")]
|
|
NSString iTunesMetadataKeyBeatsPerMin { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyTrackNumber")]
|
|
NSString iTunesMetadataKeyTrackNumber { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyArtDirector")]
|
|
NSString iTunesMetadataKeyArtDirector { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyArranger")]
|
|
NSString iTunesMetadataKeyArranger { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyAuthor")]
|
|
NSString iTunesMetadataKeyAuthor { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyLyrics")]
|
|
NSString iTunesMetadataKeyLyrics { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyAcknowledgement")]
|
|
NSString iTunesMetadataKeyAcknowledgement { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyConductor")]
|
|
NSString iTunesMetadataKeyConductor { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyDescription")]
|
|
NSString iTunesMetadataKeyDescription { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyDirector")]
|
|
NSString iTunesMetadataKeyDirector { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyEQ")]
|
|
NSString iTunesMetadataKeyEQ { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyLinerNotes")]
|
|
NSString iTunesMetadataKeyLinerNotes { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyRecordCompany")]
|
|
NSString iTunesMetadataKeyRecordCompany { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyOriginalArtist")]
|
|
NSString iTunesMetadataKeyOriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyPhonogramRights")]
|
|
NSString iTunesMetadataKeyPhonogramRights { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyProducer")]
|
|
NSString iTunesMetadataKeyProducer { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyPerformer")]
|
|
NSString iTunesMetadataKeyPerformer { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyPublisher")]
|
|
NSString iTunesMetadataKeyPublisher { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeySoundEngineer")]
|
|
NSString iTunesMetadataKeySoundEngineer { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeySoloist")]
|
|
NSString iTunesMetadataKeySoloist { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyCredits")]
|
|
NSString iTunesMetadataKeyCredits { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyThanks")]
|
|
NSString iTunesMetadataKeyThanks { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyOnlineExtras")]
|
|
NSString iTunesMetadataKeyOnlineExtras { get; }
|
|
|
|
[Field ("AVMetadataiTunesMetadataKeyExecProducer")]
|
|
NSString iTunesMetadataKeyExecProducer { get; }
|
|
|
|
#if !NET
|
|
[Field ("AVMetadataFormatID3Metadata")]
|
|
[Obsolete ("Use 'AVMetadataFormat' enum values")]
|
|
NSString FormatID3Metadata { get; }
|
|
#endif
|
|
|
|
[Field ("AVMetadataKeySpaceID3")]
|
|
NSString KeySpaceID3 { get; }
|
|
|
|
|
|
[Field ("AVMetadataID3MetadataKeyAudioEncryption")]
|
|
NSString ID3MetadataKeyAudioEncryption { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyAttachedPicture")]
|
|
NSString ID3MetadataKeyAttachedPicture { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyAudioSeekPointIndex")]
|
|
NSString ID3MetadataKeyAudioSeekPointIndex { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyComments")]
|
|
NSString ID3MetadataKeyComments { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMetadataID3MetadataKeyCommercial")]
|
|
NSString ID3MetadataKeyCommercial { get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 9, 0)]
|
|
[Deprecated (PlatformName.MacOSX, 10, 11)]
|
|
[Field ("AVMetadataID3MetadataKeyCommerical")]
|
|
NSString ID3MetadataKeyCommerical { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyEncryption")]
|
|
NSString ID3MetadataKeyEncryption { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyEqualization")]
|
|
NSString ID3MetadataKeyEqualization { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyEqualization2")]
|
|
NSString ID3MetadataKeyEqualization2 { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyEventTimingCodes")]
|
|
NSString ID3MetadataKeyEventTimingCodes { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyGeneralEncapsulatedObject")]
|
|
NSString ID3MetadataKeyGeneralEncapsulatedObject { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyGroupIdentifier")]
|
|
NSString ID3MetadataKeyGroupIdentifier { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyInvolvedPeopleList_v23")]
|
|
NSString ID3MetadataKeyInvolvedPeopleList { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyLink")]
|
|
NSString ID3MetadataKeyLink { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyMusicCDIdentifier")]
|
|
NSString ID3MetadataKeyMusicCDIdentifier { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyMPEGLocationLookupTable")]
|
|
NSString ID3MetadataKeyMPEGLocationLookupTable { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOwnership")]
|
|
NSString ID3MetadataKeyOwnership { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPrivate")]
|
|
NSString ID3MetadataKeyPrivate { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPlayCounter")]
|
|
NSString ID3MetadataKeyPlayCounter { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPopularimeter")]
|
|
NSString ID3MetadataKeyPopularimeter { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPositionSynchronization")]
|
|
NSString ID3MetadataKeyPositionSynchronization { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyRecommendedBufferSize")]
|
|
NSString ID3MetadataKeyRecommendedBufferSize { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyRelativeVolumeAdjustment")]
|
|
NSString ID3MetadataKeyRelativeVolumeAdjustment { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyRelativeVolumeAdjustment2")]
|
|
NSString ID3MetadataKeyRelativeVolumeAdjustment2 { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyReverb")]
|
|
NSString ID3MetadataKeyReverb { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeySeek")]
|
|
NSString ID3MetadataKeySeek { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeySignature")]
|
|
NSString ID3MetadataKeySignature { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeySynchronizedLyric")]
|
|
NSString ID3MetadataKeySynchronizedLyric { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeySynchronizedTempoCodes")]
|
|
NSString ID3MetadataKeySynchronizedTempoCodes { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyAlbumTitle")]
|
|
NSString ID3MetadataKeyAlbumTitle { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyBeatsPerMinute")]
|
|
NSString ID3MetadataKeyBeatsPerMinute { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyComposer")]
|
|
NSString ID3MetadataKeyComposer { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyContentType")]
|
|
NSString ID3MetadataKeyContentType { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyCopyright")]
|
|
NSString ID3MetadataKeyCopyright { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyDate")]
|
|
NSString ID3MetadataKeyDate { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyEncodingTime")]
|
|
NSString ID3MetadataKeyEncodingTime { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPlaylistDelay")]
|
|
NSString ID3MetadataKeyPlaylistDelay { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOriginalReleaseTime")]
|
|
NSString ID3MetadataKeyOriginalReleaseTime { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyRecordingTime")]
|
|
NSString ID3MetadataKeyRecordingTime { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyReleaseTime")]
|
|
NSString ID3MetadataKeyReleaseTime { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyTaggingTime")]
|
|
NSString ID3MetadataKeyTaggingTime { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyEncodedBy")]
|
|
NSString ID3MetadataKeyEncodedBy { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyLyricist")]
|
|
NSString ID3MetadataKeyLyricist { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyFileType")]
|
|
NSString ID3MetadataKeyFileType { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyTime")]
|
|
NSString ID3MetadataKeyTime { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyInvolvedPeopleList_v24")]
|
|
NSString ID3MetadataKeyInvolvedPeopleList_v24 { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyContentGroupDescription")]
|
|
NSString ID3MetadataKeyContentGroupDescription { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyTitleDescription")]
|
|
NSString ID3MetadataKeyTitleDescription { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeySubTitle")]
|
|
NSString ID3MetadataKeySubTitle { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyInitialKey")]
|
|
NSString ID3MetadataKeyInitialKey { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyLanguage")]
|
|
NSString ID3MetadataKeyLanguage { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyLength")]
|
|
NSString ID3MetadataKeyLength { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyMusicianCreditsList")]
|
|
NSString ID3MetadataKeyMusicianCreditsList { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyMediaType")]
|
|
NSString ID3MetadataKeyMediaType { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyMood")]
|
|
NSString ID3MetadataKeyMood { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOriginalAlbumTitle")]
|
|
NSString ID3MetadataKeyOriginalAlbumTitle { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOriginalFilename")]
|
|
NSString ID3MetadataKeyOriginalFilename { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOriginalLyricist")]
|
|
NSString ID3MetadataKeyOriginalLyricist { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOriginalArtist")]
|
|
NSString ID3MetadataKeyOriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOriginalReleaseYear")]
|
|
NSString ID3MetadataKeyOriginalReleaseYear { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyFileOwner")]
|
|
NSString ID3MetadataKeyFileOwner { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyLeadPerformer")]
|
|
NSString ID3MetadataKeyLeadPerformer { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyBand")]
|
|
NSString ID3MetadataKeyBand { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyConductor")]
|
|
NSString ID3MetadataKeyConductor { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyModifiedBy")]
|
|
NSString ID3MetadataKeyModifiedBy { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPartOfASet")]
|
|
NSString ID3MetadataKeyPartOfASet { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyProducedNotice")]
|
|
NSString ID3MetadataKeyProducedNotice { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPublisher")]
|
|
NSString ID3MetadataKeyPublisher { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyTrackNumber")]
|
|
NSString ID3MetadataKeyTrackNumber { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyRecordingDates")]
|
|
NSString ID3MetadataKeyRecordingDates { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyInternetRadioStationName")]
|
|
NSString ID3MetadataKeyInternetRadioStationName { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyInternetRadioStationOwner")]
|
|
NSString ID3MetadataKeyInternetRadioStationOwner { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeySize")]
|
|
NSString ID3MetadataKeySize { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyAlbumSortOrder")]
|
|
NSString ID3MetadataKeyAlbumSortOrder { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPerformerSortOrder")]
|
|
NSString ID3MetadataKeyPerformerSortOrder { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyTitleSortOrder")]
|
|
NSString ID3MetadataKeyTitleSortOrder { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyInternationalStandardRecordingCode")]
|
|
NSString ID3MetadataKeyInternationalStandardRecordingCode { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyEncodedWith")]
|
|
NSString ID3MetadataKeyEncodedWith { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeySetSubtitle")]
|
|
NSString ID3MetadataKeySetSubtitle { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyYear")]
|
|
NSString ID3MetadataKeyYear { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyUserText")]
|
|
NSString ID3MetadataKeyUserText { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyUniqueFileIdentifier")]
|
|
NSString ID3MetadataKeyUniqueFileIdentifier { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyTermsOfUse")]
|
|
NSString ID3MetadataKeyTermsOfUse { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyUnsynchronizedLyric")]
|
|
NSString ID3MetadataKeyUnsynchronizedLyric { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyCommercialInformation")]
|
|
NSString ID3MetadataKeyCommercialInformation { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyCopyrightInformation")]
|
|
NSString ID3MetadataKeyCopyrightInformation { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOfficialAudioFileWebpage")]
|
|
NSString ID3MetadataKeyOfficialAudioFileWebpage { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOfficialArtistWebpage")]
|
|
NSString ID3MetadataKeyOfficialArtistWebpage { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOfficialAudioSourceWebpage")]
|
|
NSString ID3MetadataKeyOfficialAudioSourceWebpage { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOfficialInternetRadioStationHomepage")]
|
|
NSString ID3MetadataKeyOfficialInternetRadioStationHomepage { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyPayment")]
|
|
NSString ID3MetadataKeyPayment { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyOfficialPublisherWebpage")]
|
|
NSString ID3MetadataKeyOfficialPublisherWebpage { get; }
|
|
|
|
[Field ("AVMetadataID3MetadataKeyUserURL")]
|
|
NSString ID3MetadataKeyUserURL { get; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataISOUserDataKeyTaggedCharacteristic")]
|
|
NSString IsoUserDataKeyTaggedCharacteristic { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVMetadataISOUserDataKeyDate")]
|
|
NSString IsoUserDataKeyDate { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataISOUserDataKeyAccessibilityDescription")]
|
|
NSString IsoUserDataKeyAccessibilityDescription { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataIdentifierISOUserDataAccessibilityDescription")]
|
|
NSString IsoUserDataAccessibilityDescription { get; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataKeySpaceIcy")]
|
|
NSString KeySpaceIcy { get; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataIcyMetadataKeyStreamTitle")]
|
|
NSString IcyMetadataKeyStreamTitle { get; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataIcyMetadataKeyStreamURL")]
|
|
NSString IcyMetadataKeyStreamUrl { get; }
|
|
|
|
#if !NET
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataFormatHLSMetadata")]
|
|
[Obsolete ("Use 'AVMetadataFormat' enum values")]
|
|
NSString FormatHlsMetadata { get; }
|
|
#endif
|
|
|
|
[iOS (9,3)][Mac (10, 12)]
|
|
[TV (9,2)]
|
|
[Field ("AVMetadataKeySpaceHLSDateRange")]
|
|
NSString KeySpaceHlsDateRange { get; }
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVMetadataKeySpaceAudioFile")]
|
|
NSString KeySpaceAudioFile { get; }
|
|
|
|
[Watch (8, 0), TV (15, 0), Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataIsMontage")]
|
|
NSString QuickTimeMetadataIsMontage { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[Static]
|
|
interface AVMetadataExtraAttribute {
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataExtraAttributeValueURIKey")]
|
|
NSString ValueUriKey { get; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Field ("AVMetadataExtraAttributeBaseURIKey")]
|
|
NSString BaseUriKey { get; }
|
|
|
|
[iOS (9,0)][Mac (10,11)]
|
|
[Field ("AVMetadataExtraAttributeInfoKey")]
|
|
NSString InfoKey { get; }
|
|
}
|
|
|
|
class AVMetadataIdentifiers {
|
|
[iOS (8,0)][Mac (10,10)] [Watch (6,0)]
|
|
[Static]
|
|
interface CommonIdentifier {
|
|
[Field ("AVMetadataCommonIdentifierTitle")]
|
|
NSString Title { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierCreator")]
|
|
NSString Creator { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierSubject")]
|
|
NSString Subject { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierDescription")]
|
|
NSString Description { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierPublisher")]
|
|
NSString Publisher { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierContributor")]
|
|
NSString Contributor { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierCreationDate")]
|
|
NSString CreationDate { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierLastModifiedDate")]
|
|
NSString LastModifiedDate { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierType")]
|
|
NSString Type { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierFormat")]
|
|
NSString Format { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierAssetIdentifier")]
|
|
NSString AssetIdentifier { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierSource")]
|
|
NSString Source { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierLanguage")]
|
|
NSString Language { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierRelation")]
|
|
NSString Relation { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierLocation")]
|
|
NSString Location { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierCopyrights")]
|
|
NSString Copyrights { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierAlbumName")]
|
|
NSString AlbumName { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierAuthor")]
|
|
NSString Author { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierArtist")]
|
|
NSString Artist { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierArtwork")]
|
|
NSString Artwork { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierMake")]
|
|
NSString Make { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierModel")]
|
|
NSString Model { get; }
|
|
|
|
[Field ("AVMetadataCommonIdentifierSoftware")]
|
|
NSString Software { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataCommonIdentifierAccessibilityDescription")]
|
|
NSString AccessibilityDescription { get; }
|
|
|
|
}
|
|
|
|
[iOS (8,0)][Mac (10,10)][Watch (6,0)]
|
|
[Static]
|
|
interface QuickTime {
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataAlbum")]
|
|
NSString UserDataAlbum { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataArranger")]
|
|
NSString UserDataArranger { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataArtist")]
|
|
NSString UserDataArtist { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataAuthor")]
|
|
NSString UserDataAuthor { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataChapter")]
|
|
NSString UserDataChapter { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataComment")]
|
|
NSString UserDataComment { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataComposer")]
|
|
NSString UserDataComposer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataCopyright")]
|
|
NSString UserDataCopyright { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataCreationDate")]
|
|
NSString UserDataCreationDate { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataDescription")]
|
|
NSString UserDataDescription { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataDirector")]
|
|
NSString UserDataDirector { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataDisclaimer")]
|
|
NSString UserDataDisclaimer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataEncodedBy")]
|
|
NSString UserDataEncodedBy { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataFullName")]
|
|
NSString UserDataFullName { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataGenre")]
|
|
NSString UserDataGenre { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataHostComputer")]
|
|
NSString UserDataHostComputer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataInformation")]
|
|
NSString UserDataInformation { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataKeywords")]
|
|
NSString UserDataKeywords { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataMake")]
|
|
NSString UserDataMake { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataModel")]
|
|
NSString UserDataModel { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataOriginalArtist")]
|
|
NSString UserDataOriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataOriginalFormat")]
|
|
NSString UserDataOriginalFormat { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataOriginalSource")]
|
|
NSString UserDataOriginalSource { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataPerformers")]
|
|
NSString UserDataPerformers { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataProducer")]
|
|
NSString UserDataProducer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataPublisher")]
|
|
NSString UserDataPublisher { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataProduct")]
|
|
NSString UserDataProduct { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataSoftware")]
|
|
NSString UserDataSoftware { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataSpecialPlaybackRequirements")]
|
|
NSString UserDataSpecialPlaybackRequirements { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataTrack")]
|
|
NSString UserDataTrack { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataWarning")]
|
|
NSString UserDataWarning { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataWriter")]
|
|
NSString UserDataWriter { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataURLLink")]
|
|
NSString UserDataUrlLink { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataLocationISO6709")]
|
|
NSString UserDataLocationISO6709 { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataTrackName")]
|
|
NSString UserDataTrackName { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataCredits")]
|
|
NSString UserDataCredits { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataPhonogramRights")]
|
|
NSString UserDataPhonogramRights { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataTaggedCharacteristic")]
|
|
NSString UserDataTaggedCharacteristic { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeUserDataAccessibilityDescription")]
|
|
NSString UserDataAccessibilityDescription { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Static]
|
|
interface Iso {
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVMetadataIdentifierISOUserDataDate")]
|
|
NSString UserDataDate { get; }
|
|
|
|
[Field ("AVMetadataIdentifierISOUserDataCopyright")]
|
|
NSString UserDataCopyright { get; }
|
|
|
|
[Field ("AVMetadataIdentifierISOUserDataTaggedCharacteristic")]
|
|
NSString UserDataTaggedCharacteristic { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Static]
|
|
interface ThreeGP {
|
|
[Field ("AVMetadataIdentifier3GPUserDataCopyright")]
|
|
NSString UserDataCopyright { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataAuthor")]
|
|
NSString UserDataAuthor { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataPerformer")]
|
|
NSString UserDataPerformer { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataGenre")]
|
|
NSString UserDataGenre { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataRecordingYear")]
|
|
NSString UserDataRecordingYear { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataLocation")]
|
|
NSString UserDataLocation { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataTitle")]
|
|
NSString UserDataTitle { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataDescription")]
|
|
NSString UserDataDescription { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataCollection")]
|
|
NSString UserDataCollection { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataUserRating")]
|
|
NSString UserDataUserRating { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataThumbnail")]
|
|
NSString UserDataThumbnail { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataAlbumAndTrack")]
|
|
NSString UserDataAlbumAndTrack { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataKeywordList")]
|
|
NSString UserDataKeywordList { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataMediaClassification")]
|
|
NSString UserDataMediaClassification { get; }
|
|
|
|
[Field ("AVMetadataIdentifier3GPUserDataMediaRating")]
|
|
NSString UserDataMediaRating { get; }
|
|
}
|
|
|
|
[iOS (8,0)][Mac (10,10)][Watch (6,0)]
|
|
[Static]
|
|
interface QuickTimeMetadata {
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataAuthor")]
|
|
NSString Author { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataComment")]
|
|
NSString Comment { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataCopyright")]
|
|
NSString Copyright { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataCreationDate")]
|
|
NSString CreationDate { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDirector")]
|
|
NSString Director { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDisplayName")]
|
|
NSString DisplayName { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataInformation")]
|
|
NSString Information { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataKeywords")]
|
|
NSString Keywords { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataProducer")]
|
|
NSString Producer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataPublisher")]
|
|
NSString Publisher { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataAlbum")]
|
|
NSString Album { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataArtist")]
|
|
NSString Artist { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataArtwork")]
|
|
NSString Artwork { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDescription")]
|
|
NSString Description { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataSoftware")]
|
|
NSString Software { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataYear")]
|
|
NSString Year { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataGenre")]
|
|
NSString Genre { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataiXML")]
|
|
NSString iXML { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLocationISO6709")]
|
|
NSString LocationISO6709 { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataMake")]
|
|
NSString Make { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataModel")]
|
|
NSString Model { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataArranger")]
|
|
NSString Arranger { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataEncodedBy")]
|
|
NSString EncodedBy { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataOriginalArtist")]
|
|
NSString OriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataPerformer")]
|
|
NSString Performer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataComposer")]
|
|
NSString Composer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataCredits")]
|
|
NSString Credits { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataPhonogramRights")]
|
|
NSString PhonogramRights { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataCameraIdentifier")]
|
|
NSString CameraIdentifier { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataCameraFrameReadoutTime")]
|
|
NSString CameraFrameReadoutTime { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataTitle")]
|
|
NSString Title { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataCollectionUser")]
|
|
NSString CollectionUser { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataRatingUser")]
|
|
NSString RatingUser { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLocationName")]
|
|
NSString LocationName { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLocationBody")]
|
|
NSString LocationBody { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLocationNote")]
|
|
NSString LocationNote { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLocationRole")]
|
|
NSString LocationRole { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLocationDate")]
|
|
NSString LocationDate { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDirectionFacing")]
|
|
NSString DirectionFacing { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDirectionMotion")]
|
|
NSString DirectionMotion { get; }
|
|
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataPreferredAffineTransform")]
|
|
NSString PreferredAffineTransform { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDetectedFace")]
|
|
NSString DetectedFace { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataVideoOrientation")]
|
|
NSString VideoOrientation { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataContentIdentifier")]
|
|
NSString ContentIdentifier { get; }
|
|
|
|
[Watch (6, 0), TV (13, 0), NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataSpatialOverCaptureQualityScoringVersion")]
|
|
NSString SpatialOverCaptureQualityScoringVersion { get; }
|
|
|
|
[Watch (6, 0), TV (13, 0), NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataSpatialOverCaptureQualityScore")]
|
|
NSString SpatialOverCaptureQualityScore { get; }
|
|
|
|
[Watch (6, 0), TV (13, 0), NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLivePhotoVitalityScoringVersion")]
|
|
NSString LivePhotoVitalityScoringVersion { get; }
|
|
|
|
[Watch (6, 0), TV (13, 0), NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLivePhotoVitalityScore")]
|
|
NSString LivePhotoVitalityScore { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDetectedSalientObject")]
|
|
NSString DetectedSalientObject { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDetectedHumanBody")]
|
|
NSString DetectedHumanBody { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDetectedDogBody")]
|
|
NSString DetectedDogBody { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataDetectedCatBody")]
|
|
NSString DetectedCatBody { get; }
|
|
|
|
[Watch (6, 0), TV (13, 0), NoMac, iOS (13, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataAutoLivePhoto")]
|
|
NSString AutoLivePhoto { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataAccessibilityDescription")]
|
|
NSString AccessibilityDescription { get; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVMetadataIdentifierQuickTimeMetadataLocationHorizontalAccuracyInMeters")]
|
|
NSString LocationHorizontalAccuracyInMeters { get; }
|
|
}
|
|
|
|
[iOS (8,0)][Mac (10,10)][Watch (6,0)]
|
|
[Static]
|
|
interface iTunesMetadata {
|
|
[Field ("AVMetadataIdentifieriTunesMetadataAlbum")]
|
|
NSString Album { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataArtist")]
|
|
NSString Artist { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataUserComment")]
|
|
NSString UserComment { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataCoverArt")]
|
|
NSString CoverArt { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataCopyright")]
|
|
NSString Copyright { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataReleaseDate")]
|
|
NSString ReleaseDate { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataEncodedBy")]
|
|
NSString EncodedBy { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataPredefinedGenre")]
|
|
NSString PredefinedGenre { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataUserGenre")]
|
|
NSString UserGenre { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataSongName")]
|
|
NSString SongName { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataTrackSubTitle")]
|
|
NSString TrackSubTitle { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataEncodingTool")]
|
|
NSString EncodingTool { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataComposer")]
|
|
NSString Composer { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataAlbumArtist")]
|
|
NSString AlbumArtist { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataAccountKind")]
|
|
NSString AccountKind { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataAppleID")]
|
|
NSString AppleID { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataArtistID")]
|
|
NSString ArtistID { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataSongID")]
|
|
NSString SongID { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataDiscCompilation")]
|
|
NSString DiscCompilation { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataDiscNumber")]
|
|
NSString DiscNumber { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataGenreID")]
|
|
NSString GenreID { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataGrouping")]
|
|
NSString Grouping { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataPlaylistID")]
|
|
NSString PlaylistID { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataContentRating")]
|
|
NSString ContentRating { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataBeatsPerMin")]
|
|
NSString BeatsPerMin { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataTrackNumber")]
|
|
NSString TrackNumber { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataArtDirector")]
|
|
NSString ArtDirector { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataArranger")]
|
|
NSString Arranger { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataAuthor")]
|
|
NSString Author { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataLyrics")]
|
|
NSString Lyrics { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataAcknowledgement")]
|
|
NSString Acknowledgement { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataConductor")]
|
|
NSString Conductor { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataDescription")]
|
|
NSString Description { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataDirector")]
|
|
NSString Director { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataEQ")]
|
|
NSString EQ { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataLinerNotes")]
|
|
NSString LinerNotes { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataRecordCompany")]
|
|
NSString RecordCompany { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataOriginalArtist")]
|
|
NSString OriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataPhonogramRights")]
|
|
NSString PhonogramRights { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataProducer")]
|
|
NSString Producer { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataPerformer")]
|
|
NSString Performer { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataPublisher")]
|
|
NSString Publisher { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataSoundEngineer")]
|
|
NSString SoundEngineer { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataSoloist")]
|
|
NSString Soloist { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataCredits")]
|
|
NSString Credits { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataThanks")]
|
|
NSString Thanks { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataOnlineExtras")]
|
|
NSString OnlineExtras { get; }
|
|
|
|
[Field ("AVMetadataIdentifieriTunesMetadataExecProducer")]
|
|
NSString ExecProducer { get; }
|
|
}
|
|
|
|
[iOS (8,0)][Mac (10,10)] [Watch (6,0)]
|
|
[Static]
|
|
interface ID3Metadata {
|
|
[Field ("AVMetadataIdentifierID3MetadataAudioEncryption")]
|
|
NSString AudioEncryption { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataAttachedPicture")]
|
|
NSString AttachedPicture { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataAudioSeekPointIndex")]
|
|
NSString AudioSeekPointIndex { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataComments")]
|
|
NSString Comments { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Field ("AVMetadataIdentifierID3MetadataCommercial")]
|
|
NSString Commercial { get; }
|
|
|
|
[iOS (8, 0)]
|
|
[Deprecated (PlatformName.iOS, 9, 0)]
|
|
[Mac (10, 10)]
|
|
[Deprecated (PlatformName.MacOSX, 10, 11)]
|
|
[Field ("AVMetadataIdentifierID3MetadataCommerical")]
|
|
NSString Commerical { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataEncryption")]
|
|
NSString Encryption { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataEqualization")]
|
|
NSString Equalization { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataEqualization2")]
|
|
NSString Equalization2 { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataEventTimingCodes")]
|
|
NSString EventTimingCodes { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataGeneralEncapsulatedObject")]
|
|
NSString GeneralEncapsulatedObject { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataGroupIdentifier")]
|
|
NSString GroupIdentifier { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataInvolvedPeopleList_v23")]
|
|
NSString InvolvedPeopleList_v23 { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataLink")]
|
|
NSString Link { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataMusicCDIdentifier")]
|
|
NSString MusicCDIdentifier { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataMPEGLocationLookupTable")]
|
|
NSString MpegLocationLookupTable { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOwnership")]
|
|
NSString Ownership { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPrivate")]
|
|
NSString Private { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPlayCounter")]
|
|
NSString PlayCounter { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPopularimeter")]
|
|
NSString Popularimeter { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPositionSynchronization")]
|
|
NSString PositionSynchronization { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataRecommendedBufferSize")]
|
|
NSString RecommendedBufferSize { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataRelativeVolumeAdjustment")]
|
|
NSString RelativeVolumeAdjustment { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataRelativeVolumeAdjustment2")]
|
|
NSString RelativeVolumeAdjustment2 { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataReverb")]
|
|
NSString Reverb { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataSeek")]
|
|
NSString Seek { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataSignature")]
|
|
NSString Signature { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataSynchronizedLyric")]
|
|
NSString SynchronizedLyric { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataSynchronizedTempoCodes")]
|
|
NSString SynchronizedTempoCodes { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataAlbumTitle")]
|
|
NSString AlbumTitle { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataBeatsPerMinute")]
|
|
NSString BeatsPerMinute { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataComposer")]
|
|
NSString Composer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataContentType")]
|
|
NSString ContentType { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataCopyright")]
|
|
NSString Copyright { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataDate")]
|
|
NSString Date { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataEncodingTime")]
|
|
NSString EncodingTime { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPlaylistDelay")]
|
|
NSString PlaylistDelay { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOriginalReleaseTime")]
|
|
NSString OriginalReleaseTime { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataRecordingTime")]
|
|
NSString RecordingTime { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataReleaseTime")]
|
|
NSString ReleaseTime { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataTaggingTime")]
|
|
NSString TaggingTime { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataEncodedBy")]
|
|
NSString EncodedBy { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataLyricist")]
|
|
NSString Lyricist { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataFileType")]
|
|
NSString FileType { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataTime")]
|
|
NSString Time { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataInvolvedPeopleList_v24")]
|
|
NSString InvolvedPeopleList_v24 { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataContentGroupDescription")]
|
|
NSString ContentGroupDescription { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataTitleDescription")]
|
|
NSString TitleDescription { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataSubTitle")]
|
|
NSString SubTitle { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataInitialKey")]
|
|
NSString InitialKey { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataLanguage")]
|
|
NSString Language { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataLength")]
|
|
NSString Length { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataMusicianCreditsList")]
|
|
NSString MusicianCreditsList { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataMediaType")]
|
|
NSString MediaType { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataMood")]
|
|
NSString Mood { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOriginalAlbumTitle")]
|
|
NSString OriginalAlbumTitle { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOriginalFilename")]
|
|
NSString OriginalFilename { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOriginalLyricist")]
|
|
NSString OriginalLyricist { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOriginalArtist")]
|
|
NSString OriginalArtist { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOriginalReleaseYear")]
|
|
NSString OriginalReleaseYear { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataFileOwner")]
|
|
NSString FileOwner { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataLeadPerformer")]
|
|
NSString LeadPerformer { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataBand")]
|
|
NSString Band { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataConductor")]
|
|
NSString Conductor { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataModifiedBy")]
|
|
NSString ModifiedBy { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPartOfASet")]
|
|
NSString PartOfASet { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataProducedNotice")]
|
|
NSString ProducedNotice { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPublisher")]
|
|
NSString Publisher { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataTrackNumber")]
|
|
NSString TrackNumber { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataRecordingDates")]
|
|
NSString RecordingDates { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataInternetRadioStationName")]
|
|
NSString InternetRadioStationName { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataInternetRadioStationOwner")]
|
|
NSString InternetRadioStationOwner { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataSize")]
|
|
NSString Size { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataAlbumSortOrder")]
|
|
NSString AlbumSortOrder { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPerformerSortOrder")]
|
|
NSString PerformerSortOrder { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataTitleSortOrder")]
|
|
NSString TitleSortOrder { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataInternationalStandardRecordingCode")]
|
|
NSString InternationalStandardRecordingCode { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataEncodedWith")]
|
|
NSString EncodedWith { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataSetSubtitle")]
|
|
NSString SetSubtitle { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataYear")]
|
|
NSString Year { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataUserText")]
|
|
NSString UserText { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataUniqueFileIdentifier")]
|
|
NSString UniqueFileIdentifier { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataTermsOfUse")]
|
|
NSString TermsOfUse { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataUnsynchronizedLyric")]
|
|
NSString UnsynchronizedLyric { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataCommercialInformation")]
|
|
NSString CommercialInformation { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataCopyrightInformation")]
|
|
NSString CopyrightInformation { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOfficialAudioFileWebpage")]
|
|
NSString OfficialAudioFileWebpage { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOfficialArtistWebpage")]
|
|
NSString OfficialArtistWebpage { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOfficialAudioSourceWebpage")]
|
|
NSString OfficialAudioSourceWebpage { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOfficialInternetRadioStationHomepage")]
|
|
NSString OfficialInternetRadioStationHomepage { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataPayment")]
|
|
NSString Payment { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataOfficialPublisherWebpage")]
|
|
NSString OfficialPublisherWebpage { get; }
|
|
|
|
[Field ("AVMetadataIdentifierID3MetadataUserURL")]
|
|
NSString UserUrl { get; }
|
|
}
|
|
|
|
[iOS (8,0)][Mac (10,10)][Watch (6,0)]
|
|
[Static]
|
|
interface IcyMetadata {
|
|
[Field ("AVMetadataIdentifierIcyMetadataStreamTitle")]
|
|
NSString StreamTitle { get; }
|
|
|
|
[Field ("AVMetadataIdentifierIcyMetadataStreamURL")]
|
|
NSString StreamUrl { get; }
|
|
}
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVMetadataItem : NSMutableCopying {
|
|
[Export ("commonKey", ArgumentSemantic.Copy), NullAllowed]
|
|
string CommonKey { get; }
|
|
|
|
[Export ("keySpace", ArgumentSemantic.Copy), NullAllowed]
|
|
string KeySpace { get; [NotImplemented] set; }
|
|
|
|
[Export ("locale", ArgumentSemantic.Copy), NullAllowed]
|
|
NSLocale Locale { get; [NotImplemented] set; }
|
|
|
|
[Export ("time")]
|
|
CMTime Time { get; [NotImplemented] set; }
|
|
|
|
[Export ("value", ArgumentSemantic.Copy), NullAllowed]
|
|
NSObject Value { get; [NotImplemented] set; }
|
|
|
|
[Export ("extraAttributes", ArgumentSemantic.Copy), NullAllowed]
|
|
NSDictionary ExtraAttributes { get; [NotImplemented] set; }
|
|
|
|
[Export ("key", ArgumentSemantic.Copy), NullAllowed]
|
|
NSObject Key { get; }
|
|
|
|
[Export ("stringValue"), NullAllowed]
|
|
string StringValue { get; }
|
|
|
|
[Export ("numberValue"), NullAllowed]
|
|
NSNumber NumberValue { get; }
|
|
|
|
[Export ("dateValue"), NullAllowed]
|
|
NSDate DateValue { get; }
|
|
|
|
[Export ("dataValue"), NullAllowed]
|
|
NSData DataValue { get; }
|
|
|
|
[Static]
|
|
[Export ("metadataItemsFromArray:withLocale:")]
|
|
AVMetadataItem [] FilterWithLocale (AVMetadataItem [] arrayToFilter, NSLocale locale);
|
|
|
|
[Static]
|
|
[Export ("metadataItemsFromArray:withKey:keySpace:")]
|
|
AVMetadataItem [] FilterWithKey (AVMetadataItem [] metadataItems, [NullAllowed] NSObject key, [NullAllowed] string keySpace);
|
|
|
|
[iOS (7,0), Mac (10,9), NoWatch] // headers say it is the watch, but the AVMetadataItemFilter is not
|
|
[Static, Export ("metadataItemsFromArray:filteredByMetadataItemFilter:")]
|
|
AVMetadataItem [] FilterWithItemFilter (AVMetadataItem [] metadataItems, AVMetadataItemFilter metadataItemFilter);
|
|
|
|
[Export ("duration")]
|
|
CMTime Duration { get; [NotImplemented] set; }
|
|
|
|
[Export ("statusOfValueForKey:error:")]
|
|
AVKeyValueStatus StatusOfValueForKeyerror (string key, out NSError error);
|
|
|
|
[Export ("loadValuesAsynchronouslyForKeys:completionHandler:")]
|
|
[Async ("LoadValuesTaskAsync")]
|
|
void LoadValuesAsynchronously (string [] keys, [NullAllowed] Action handler);
|
|
|
|
[Static, Export ("metadataItemsFromArray:filteredAndSortedAccordingToPreferredLanguages:")]
|
|
AVMetadataItem [] FilterFromPreferredLanguages (AVMetadataItem [] metadataItems, string [] preferredLanguages);
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Export ("identifier"), NullAllowed]
|
|
NSString MetadataIdentifier { get; [NotImplemented] set; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Export ("extendedLanguageTag"), NullAllowed]
|
|
string ExtendedLanguageTag { get; [NotImplemented] set; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Export ("dataType"), NullAllowed]
|
|
NSString DataType { get; [NotImplemented] set; }
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[return: NullAllowed]
|
|
[Static, Export ("identifierForKey:keySpace:")]
|
|
NSString GetMetadataIdentifier (NSObject key, NSString keySpace);
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[return: NullAllowed]
|
|
[Static, Export ("keySpaceForIdentifier:")]
|
|
NSString GetKeySpaceForIdentifier (NSString identifier);
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[return: NullAllowed]
|
|
[Static, Export ("keyForIdentifier:")]
|
|
NSObject GetKeyForIdentifier (NSString identifier);
|
|
|
|
[iOS(8,0)][Mac (10,10)]
|
|
[Static, Export ("metadataItemsFromArray:filteredByIdentifier:")]
|
|
AVMetadataItem [] FilterWithIdentifier (AVMetadataItem [] metadataItems, NSString metadataIdentifer);
|
|
|
|
[iOS(9,0)][Mac (10,11)]
|
|
[Export ("startDate"), NullAllowed]
|
|
NSDate StartDate { get; [NotImplemented] set; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Static]
|
|
[Export ("metadataItemWithPropertiesOfMetadataItem:valueLoadingHandler:")]
|
|
AVMetadataItem GetMetadataItem (AVMetadataItem metadataItem, Action<AVMetadataItemValueRequest> handler);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[iOS (9,0), Mac (10,11)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVMetadataItemValueRequest {
|
|
|
|
[NullAllowed, Export ("metadataItem", ArgumentSemantic.Weak)]
|
|
AVMetadataItem MetadataItem { get; }
|
|
|
|
[Export ("respondWithValue:")]
|
|
void Respond (NSObject value);
|
|
|
|
[Export ("respondWithError:")]
|
|
void Respond (NSError error);
|
|
}
|
|
|
|
[iOS (7,0), Mac (10, 9), Watch (8,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // for binary compatibility this is added in AVMetadataItemFilter.cs w/[Obsolete]
|
|
interface AVMetadataItemFilter {
|
|
[Static, Export ("metadataItemFilterForSharing")]
|
|
AVMetadataItemFilter ForSharing { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSGenericException Reason: Cannot instantiate AVMetadataObject because it is an abstract superclass.
|
|
[DisableDefaultCtor]
|
|
interface AVMetadataObject {
|
|
[Export ("duration")]
|
|
CMTime Duration { get; }
|
|
|
|
[Export ("bounds")]
|
|
CGRect Bounds { get; }
|
|
|
|
[Export ("type")]
|
|
NSString WeakType { get; }
|
|
|
|
[Export ("time")]
|
|
CMTime Time{ get;}
|
|
|
|
#if !NET
|
|
[Field ("AVMetadataObjectTypeFace")]
|
|
NSString TypeFace { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeAztecCode")]
|
|
NSString TypeAztecCode { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeCode128Code")]
|
|
NSString TypeCode128Code { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeCode39Code")]
|
|
NSString TypeCode39Code { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeCode39Mod43Code")]
|
|
NSString TypeCode39Mod43Code { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeCode93Code")]
|
|
NSString TypeCode93Code { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeEAN13Code")]
|
|
NSString TypeEAN13Code { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeEAN8Code")]
|
|
NSString TypeEAN8Code { get; }
|
|
|
|
[Field ("AVMetadataObjectTypePDF417Code")]
|
|
[iOS (7,0), Mac (10,15)]
|
|
NSString TypePDF417Code { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeQRCode")]
|
|
NSString TypeQRCode { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeUPCECode")]
|
|
NSString TypeUPCECode { get; }
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeInterleaved2of5Code")]
|
|
NSString TypeInterleaved2of5Code { get; }
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeITF14Code")]
|
|
NSString TypeITF14Code { get; }
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[Field ("AVMetadataObjectTypeDataMatrixCode")]
|
|
NSString TypeDataMatrixCode { get; }
|
|
|
|
[NoWatch, NoTV, iOS (13, 0), Mac (10, 15)]
|
|
[Field ("AVMetadataObjectTypeCatBody")]
|
|
NSString TypeCatBody { get; }
|
|
|
|
[NoWatch, NoTV, iOS (13, 0), Mac (10, 15)]
|
|
[Field ("AVMetadataObjectTypeDogBody")]
|
|
NSString TypeDogBody { get; }
|
|
|
|
[NoWatch, NoTV, iOS (13, 0), Mac (10, 15)]
|
|
[Field ("AVMetadataObjectTypeHumanBody")]
|
|
NSString TypeHumanBody { get; }
|
|
|
|
[NoWatch, NoTV, iOS (13, 0), Mac (10, 15)]
|
|
[Field ("AVMetadataObjectTypeSalientObject")]
|
|
NSString TypeSalientObject { get; }
|
|
#endif
|
|
}
|
|
|
|
#if NET
|
|
[NoWatch]
|
|
#endif
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Mac (10,10)]
|
|
[Flags]
|
|
enum AVMetadataObjectType : ulong {
|
|
[Field (null)]
|
|
None = 0,
|
|
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeFace")]
|
|
Face = 1 << 0,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeAztecCode")]
|
|
AztecCode = 1 << 1,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeCode128Code")]
|
|
Code128Code = 1 << 2,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeCode39Code")]
|
|
Code39Code = 1 << 3,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeCode39Mod43Code")]
|
|
Code39Mod43Code = 1 << 4,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeCode93Code")]
|
|
Code93Code = 1 << 5,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeEAN13Code")]
|
|
EAN13Code = 1 << 6,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeEAN8Code")]
|
|
EAN8Code = 1 << 7,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypePDF417Code")]
|
|
PDF417Code = 1 << 8,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeQRCode")]
|
|
QRCode = 1 << 9,
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeUPCECode")]
|
|
UPCECode = 1 << 10,
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeInterleaved2of5Code")]
|
|
Interleaved2of5Code = 1 << 11,
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeITF14Code")]
|
|
ITF14Code = 1 << 12,
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[NoWatch]
|
|
[Field ("AVMetadataObjectTypeDataMatrixCode")]
|
|
DataMatrixCode = 1 << 13,
|
|
|
|
[iOS (13,0), Mac (10,15)]
|
|
[NoTV][NoWatch]
|
|
[Field ("AVMetadataObjectTypeCatBody")]
|
|
CatBody = 1 << 14,
|
|
|
|
[iOS (13,0), Mac (10,15)]
|
|
[NoTV][NoWatch]
|
|
[Field ("AVMetadataObjectTypeDogBody")]
|
|
DogBody = 1 << 15,
|
|
|
|
[iOS (13,0), Mac (10,15)]
|
|
[NoTV][NoWatch]
|
|
[Field ("AVMetadataObjectTypeHumanBody")]
|
|
HumanBody = 1 << 16,
|
|
|
|
[iOS (13,0), Mac (10,15)]
|
|
[NoTV][NoWatch]
|
|
[Field ("AVMetadataObjectTypeSalientObject")]
|
|
SalientObject = 1 << 17,
|
|
|
|
[TV (15,4), NoWatch, MacCatalyst (15,4), Mac (12,3), iOS (15,4)]
|
|
[Field ("AVMetadataObjectTypeCodabarCode")]
|
|
CodabarCode = 1 << 18,
|
|
|
|
[TV (15,4), NoWatch, MacCatalyst (15,4), Mac (12,3), iOS (15,4)]
|
|
[Field ("AVMetadataObjectTypeGS1DataBarCode")]
|
|
GS1DataBarCode = 1 << 19,
|
|
|
|
[TV (15,4), NoWatch, MacCatalyst (15,4), Mac (12,3), iOS (15,4)]
|
|
[Field ("AVMetadataObjectTypeGS1DataBarExpandedCode")]
|
|
GS1DataBarExpandedCode = 1 << 20,
|
|
|
|
[TV (15,4), NoWatch, MacCatalyst (15,4), Mac (12,3), iOS (15,4)]
|
|
[Field ("AVMetadataObjectTypeGS1DataBarLimitedCode")]
|
|
GS1DataBarLimitedCode = 1 << 21,
|
|
|
|
[TV (15,4), NoWatch, MacCatalyst (15,4), Mac (12,3), iOS (15,4)]
|
|
[Field ("AVMetadataObjectTypeMicroQRCode")]
|
|
MicroQRCode = 1 << 22,
|
|
|
|
[TV (15,4), NoWatch, MacCatalyst (15,4), Mac (12,3), iOS (15,4)]
|
|
[Field ("AVMetadataObjectTypeMicroPDF417Code")]
|
|
MicroPdf417Code = 1 << 23,
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[Mac (10,10)]
|
|
[BaseType (typeof (AVMetadataObject))]
|
|
interface AVMetadataFaceObject : NSCopying {
|
|
[Export ("hasRollAngle")]
|
|
bool HasRollAngle { get; }
|
|
|
|
[Export ("rollAngle")]
|
|
nfloat RollAngle { get; }
|
|
|
|
[Export ("hasYawAngle")]
|
|
bool HasYawAngle { get; }
|
|
|
|
[Export ("yawAngle")]
|
|
nfloat YawAngle { get; }
|
|
|
|
[Export ("faceID")]
|
|
nint FaceID { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[iOS (7,0), Mac (10,15)]
|
|
[BaseType (typeof (AVMetadataObject))]
|
|
interface AVMetadataMachineReadableCodeObject {
|
|
[Export ("corners", ArgumentSemantic.Copy)]
|
|
NSDictionary [] WeakCorners { get; }
|
|
|
|
[NullAllowed, Export ("stringValue", ArgumentSemantic.Copy)]
|
|
string StringValue { get; }
|
|
|
|
// @interface AVMetadataMachineReadableCodeDescriptor (AVMetadataMachineReadableCodeObject)
|
|
|
|
[iOS (11, 0), TV (11,0)]
|
|
[Export ("descriptor")]
|
|
[NullAllowed]
|
|
CIBarcodeDescriptor Descriptor { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[BaseType (typeof (NSObject), Name="AVMIDIPlayer")]
|
|
interface AVMidiPlayer {
|
|
|
|
[Export ("initWithContentsOfURL:soundBankURL:error:")]
|
|
NativeHandle Constructor (NSUrl contentsUrl, [NullAllowed] NSUrl soundBankUrl, out NSError outError);
|
|
|
|
[Export ("initWithData:soundBankURL:error:")]
|
|
NativeHandle Constructor (NSData data, [NullAllowed] NSUrl sounddBankUrl, out NSError outError);
|
|
|
|
[Export ("duration")]
|
|
double Duration { get; }
|
|
|
|
[Export ("playing")]
|
|
bool Playing { [Bind ("isPlaying")] get; }
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; } /* float, not CGFloat */
|
|
|
|
[Export ("currentPosition")]
|
|
double CurrentPosition { get; set; }
|
|
|
|
[Export ("prepareToPlay")]
|
|
void PrepareToPlay ();
|
|
|
|
[Export ("play:")]
|
|
[Async]
|
|
void Play ([NullAllowed] Action completionHandler);
|
|
|
|
[Export ("stop")]
|
|
void Stop ();
|
|
}
|
|
|
|
[Watch (6,0), NoTV, Mac (10,10), iOS (13,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof(AVAsset))]
|
|
interface AVMovie : NSCopying, NSMutableCopying
|
|
{
|
|
[Field ("AVMovieReferenceRestrictionsKey")]
|
|
NSString ReferenceRestrictionsKey { get; }
|
|
|
|
[Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVMovieShouldSupportAliasDataReferencesKey")]
|
|
NSString ShouldSupportAliasDataReferencesKey { get; }
|
|
|
|
[Static]
|
|
[Export ("movieTypes")]
|
|
string[] MovieTypes { get; }
|
|
|
|
[Static]
|
|
[Export ("movieWithURL:options:")]
|
|
AVMovie FromUrl (NSUrl URL, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("initWithURL:options:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSUrl URL, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Mac (10,11)]
|
|
[Static]
|
|
[Export ("movieWithData:options:")]
|
|
AVMovie FromData (NSData data, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Mac (10,11)]
|
|
[Export ("initWithData:options:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSData data, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[NullAllowed, Export ("URL")]
|
|
NSUrl URL { get; }
|
|
|
|
[Mac (10, 11)]
|
|
[NullAllowed, Export ("data")]
|
|
NSData Data { get; }
|
|
|
|
[Mac (10, 11)]
|
|
[NullAllowed, Export ("defaultMediaDataStorage")]
|
|
AVMediaDataStorage DefaultMediaDataStorage { get; }
|
|
|
|
[Export ("tracks")]
|
|
AVMovieTrack[] Tracks { get; }
|
|
|
|
[Export ("canContainMovieFragments")]
|
|
bool CanContainMovieFragments { get; }
|
|
|
|
[Mac (10, 11)]
|
|
[Export ("containsMovieFragments")]
|
|
bool ContainsMovieFragments { get; }
|
|
}
|
|
|
|
[Watch (6,0), iOS (13,0), NoTV]
|
|
[Category]
|
|
[BaseType (typeof(AVMovie))]
|
|
interface AVMovie_AVMovieMovieHeaderSupport
|
|
{
|
|
[Mac (10,11)]
|
|
[Export ("movieHeaderWithFileType:error:")]
|
|
[return: NullAllowed]
|
|
NSData GetMovieHeader (string fileType, [NullAllowed] out NSError outError);
|
|
|
|
[Mac (10,11)]
|
|
[Export ("writeMovieHeaderToURL:fileType:options:error:")]
|
|
bool WriteMovieHeader (NSUrl URL, string fileType, AVMovieWritingOptions options, [NullAllowed] out NSError outError);
|
|
|
|
[Mac (10,11)]
|
|
[Export ("isCompatibleWithFileType:")]
|
|
bool IsCompatibleWithFileType (string fileType);
|
|
}
|
|
|
|
[Watch (6,0), iOS (13,0), NoTV]
|
|
[Category]
|
|
[BaseType (typeof(AVMovie))]
|
|
interface AVMovie_AVMovieTrackInspection
|
|
{
|
|
[Export ("trackWithTrackID:")]
|
|
[return: NullAllowed]
|
|
AVMovieTrack GetTrack (int trackID);
|
|
|
|
[Export ("tracksWithMediaType:")]
|
|
AVMovieTrack[] GetTracks (string mediaType);
|
|
|
|
[Wrap ("This.GetTracks (mediaType.GetConstant ())")]
|
|
AVMovieTrack[] GetTracks (AVMediaTypes mediaType);
|
|
|
|
[Export ("tracksWithMediaCharacteristic:")]
|
|
AVMovieTrack[] GetTracksWithMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Wrap ("This.GetTracksWithMediaCharacteristic (mediaCharacteristic.GetConstant ())")]
|
|
AVMovieTrack[] GetTracks (AVMediaCharacteristics mediaCharacteristic);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTrackWithTrackID:completionHandler:")]
|
|
void LoadTrack (int trackId, Action<AVMutableCompositionTrack, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaType:completionHandler:")]
|
|
void LoadTracksWithMediaType (string mediaType, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaCharacteristic:completionHandler:")]
|
|
void LoadTracksWithMediaCharacteristic (string mediaCharacteristic, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
}
|
|
|
|
[Watch (6,0), NoTV, Mac (10,11), iOS (13,0)]
|
|
[BaseType (typeof(AVMovie))]
|
|
interface AVMutableMovie
|
|
{
|
|
[Static]
|
|
[Export ("movieWithURL:options:error:")]
|
|
[return: NullAllowed]
|
|
AVMutableMovie FromUrl (NSUrl URL, [NullAllowed] NSDictionary<NSString, NSObject> options, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("initWithURL:options:error:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSUrl URL, [NullAllowed] NSDictionary<NSString, NSObject> options, [NullAllowed] out NSError outError);
|
|
|
|
[Static]
|
|
[Export ("movieWithData:options:error:")]
|
|
[return: NullAllowed]
|
|
AVMutableMovie FromData (NSData data, [NullAllowed] NSDictionary<NSString, NSObject> options, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("initWithData:options:error:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSData data, [NullAllowed] NSDictionary<NSString, NSObject> options, [NullAllowed] out NSError outError);
|
|
|
|
[Static]
|
|
[Export ("movieWithSettingsFromMovie:options:error:")]
|
|
[return: NullAllowed]
|
|
AVMutableMovie FromMovie ([NullAllowed] AVMovie movie, [NullAllowed] NSDictionary<NSString, NSObject> options, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("initWithSettingsFromMovie:options:error:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor ([NullAllowed] AVMovie movie, [NullAllowed] NSDictionary<NSString, NSObject> options, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("preferredRate")]
|
|
float PreferredRate { get; set; }
|
|
|
|
[Export ("preferredVolume")]
|
|
float PreferredVolume { get; set; }
|
|
|
|
[Export ("preferredTransform", ArgumentSemantic.Assign)]
|
|
CGAffineTransform PreferredTransform { get; set; }
|
|
|
|
[Export ("timescale")]
|
|
int Timescale { get; set; }
|
|
|
|
[Export ("tracks")]
|
|
AVMutableMovieTrack[] Tracks { get; }
|
|
|
|
// AVMutableMovie_AVMutableMovieMetadataEditing
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem[] Metadata { get; set; }
|
|
|
|
// AVMutableMovie_AVMutableMovieMovieLevelEditing
|
|
[Export ("modified")]
|
|
bool Modified { [Bind ("isModified")] get; set; }
|
|
|
|
[NullAllowed, Export ("defaultMediaDataStorage", ArgumentSemantic.Copy)]
|
|
AVMediaDataStorage DefaultMediaDataStorage { get; set; }
|
|
|
|
[Export ("interleavingPeriod", ArgumentSemantic.Assign)]
|
|
CMTime InterleavingPeriod { get; set; }
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTrackWithTrackID:completionHandler:")]
|
|
void LoadTrack (int trackId, Action<AVMovieTrack, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaType:completionHandler:")]
|
|
void LoadTracksWithMediaType (string mediaType, Action<NSArray<AVMovieTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaCharacteristic:completionHandler:")]
|
|
void LoadTracksWithMediaCharacteristic (string mediaCharacteristic, Action<NSArray<AVMovieTrack>, NSError> completionHandler);
|
|
}
|
|
|
|
[Watch (6,0), NoTV, iOS (13,0)]
|
|
[Category]
|
|
[BaseType (typeof(AVMutableMovie))]
|
|
interface AVMutableMovie_AVMutableMovieMovieLevelEditing
|
|
{
|
|
[Export ("insertTimeRange:ofAsset:atTime:copySampleData:error:")]
|
|
bool InsertTimeRange (CMTimeRange timeRange, AVAsset asset, CMTime startTime, bool copySampleData, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("insertEmptyTimeRange:")]
|
|
void InsertEmptyTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("removeTimeRange:")]
|
|
void RemoveTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("scaleTimeRange:toDuration:")]
|
|
void ScaleTimeRange (CMTimeRange timeRange, CMTime duration);
|
|
}
|
|
|
|
[Watch (6,0), NoTV, iOS (13,0)]
|
|
[Category]
|
|
[BaseType (typeof(AVMutableMovie))]
|
|
interface AVMutableMovie_AVMutableMovieTrackLevelEditing
|
|
{
|
|
[Export ("mutableTrackCompatibleWithTrack:")]
|
|
[return: NullAllowed]
|
|
AVMutableMovieTrack GetMutableTrack (AVAssetTrack track);
|
|
|
|
[Export ("addMutableTrackWithMediaType:copySettingsFromTrack:options:")]
|
|
[return: NullAllowed]
|
|
AVMutableMovieTrack AddMutableTrack (string mediaType, [NullAllowed] AVAssetTrack track, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("addMutableTracksCopyingSettingsFromTracks:options:")]
|
|
AVMutableMovieTrack[] AddMutableTracks (AVAssetTrack[] existingTracks, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("removeTrack:")]
|
|
void RemoveTrack (AVMovieTrack track);
|
|
}
|
|
|
|
[Watch (6,0), NoTV, iOS (13,0)]
|
|
[Category]
|
|
[BaseType (typeof(AVMutableMovie))]
|
|
interface AVMutableMovie_AVMutableMovieTrackInspection
|
|
{
|
|
[Export ("trackWithTrackID:")]
|
|
[return: NullAllowed]
|
|
AVMutableMovieTrack GetTrack (int trackID);
|
|
|
|
[Export ("tracksWithMediaType:")]
|
|
AVMutableMovieTrack[] GetTracks (string mediaType);
|
|
|
|
[Wrap ("This.GetTracks (mediaType.GetConstant ())")]
|
|
AVMutableMovieTrack[] GetTracks (AVMediaTypes mediaType);
|
|
|
|
[Export ("tracksWithMediaCharacteristic:")]
|
|
AVMutableMovieTrack[] GetTracksWithMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Wrap ("This.GetTracksWithMediaCharacteristic (mediaCharacteristic.GetConstant ())")]
|
|
AVMutableMovieTrack[] GetTracks (AVMediaCharacteristics mediaCharacteristic);
|
|
}
|
|
|
|
[Mac (10,11), Watch (6,0), iOS (13,0), NoTV]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVMediaDataStorage
|
|
{
|
|
[Export ("initWithURL:options:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSUrl URL, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[NullAllowed, Export ("URL")]
|
|
NSUrl URL { get; }
|
|
}
|
|
|
|
[Mac (10,10), Watch (6,0), iOS (13,0), NoTV]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof(AVMovie))]
|
|
interface AVFragmentedMovie : AVFragmentMinding
|
|
{
|
|
[Export ("initWithURL:options:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSUrl URL, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Mac (10,11)]
|
|
[Export ("initWithData:options:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSData data, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("tracks")]
|
|
AVFragmentedMovieTrack[] Tracks { get; }
|
|
|
|
[Notification]
|
|
[Field ("AVFragmentedMovieContainsMovieFragmentsDidChangeNotification")]
|
|
NSString ContainsMovieFragmentsDidChangeNotification { get; }
|
|
|
|
[Notification]
|
|
[Field ("AVFragmentedMovieDurationDidChangeNotification")]
|
|
NSString DurationDidChangeNotification { get; }
|
|
|
|
[Notification]
|
|
[Field ("AVFragmentedMovieWasDefragmentedNotification")]
|
|
NSString WasDefragmentedNotification { get; }
|
|
}
|
|
|
|
[Watch (6,0), NoTV, iOS (13,0)]
|
|
[Category]
|
|
[BaseType (typeof(AVFragmentedMovie))]
|
|
interface AVFragmentedMovie_AVFragmentedMovieTrackInspection
|
|
{
|
|
[Export ("trackWithTrackID:")]
|
|
[return: NullAllowed]
|
|
AVFragmentedMovieTrack GetTrack (int trackID);
|
|
|
|
[Export ("tracksWithMediaType:")]
|
|
AVFragmentedMovieTrack[] GetTracks (string mediaType);
|
|
|
|
[Wrap ("This.GetTracks (mediaType.GetConstant ())")]
|
|
AVFragmentedMovieTrack[] GetTracks (AVMediaTypes mediaType);
|
|
|
|
[Export ("tracksWithMediaCharacteristic:")]
|
|
AVFragmentedMovieTrack[] GetTracksWithMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Wrap ("This.GetTracksWithMediaCharacteristic (mediaCharacteristic.GetConstant ())")]
|
|
AVFragmentedMovieTrack[] GetTracks (AVMediaCharacteristics mediaCharacteristic);
|
|
|
|
[Async]
|
|
[Watch (8,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTrackWithTrackID:completionHandler:")]
|
|
void LoadTrack (int trackId, Action<AVMutableCompositionTrack, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaType:completionHandler:")]
|
|
void LoadTracksWithMediaType (string mediaType, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaCharacteristic:completionHandler:")]
|
|
void LoadTracksWithMediaCharacteristic (string mediaCharacteristic, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
}
|
|
|
|
[Mac (10,10), Watch (6,0), iOS (13,0), NoTV]
|
|
[BaseType (typeof(AVFragmentedAssetMinder))]
|
|
interface AVFragmentedMovieMinder
|
|
{
|
|
[Static]
|
|
[Export ("fragmentedMovieMinderWithMovie:mindingInterval:")]
|
|
AVFragmentedMovieMinder FromMovie (AVFragmentedMovie movie, double mindingInterval);
|
|
|
|
[Export ("initWithMovie:mindingInterval:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVFragmentedMovie movie, double mindingInterval);
|
|
|
|
[Export ("mindingInterval")]
|
|
double MindingInterval { get; set; }
|
|
|
|
[Export ("movies")]
|
|
AVFragmentedMovie[] Movies { get; }
|
|
|
|
[Export ("addFragmentedMovie:")]
|
|
void Add (AVFragmentedMovie movie);
|
|
|
|
[Export ("removeFragmentedMovie:")]
|
|
void Remove (AVFragmentedMovie movie);
|
|
}
|
|
|
|
[Mac (10,10), Watch (6,0), iOS (13,0), NoTV]
|
|
[BaseType (typeof(AVAssetTrack))]
|
|
[DisableDefaultCtor]
|
|
interface AVMovieTrack
|
|
{
|
|
[Mac (10, 11)]
|
|
[Export ("mediaPresentationTimeRange")]
|
|
CMTimeRange MediaPresentationTimeRange { get; }
|
|
|
|
[Mac (10, 11)]
|
|
[Export ("mediaDecodeTimeRange")]
|
|
CMTimeRange MediaDecodeTimeRange { get; }
|
|
|
|
[Mac (10, 11)]
|
|
[Export ("alternateGroupID")]
|
|
nint AlternateGroupID { get; }
|
|
|
|
// AVMovieTrack_AVMovieTrackMediaDataStorage
|
|
[Mac (10, 11)]
|
|
[NullAllowed, Export ("mediaDataStorage", ArgumentSemantic.Copy)]
|
|
AVMediaDataStorage MediaDataStorage { get; }
|
|
}
|
|
|
|
[Mac (10,11), Watch (6,0), iOS (13,0), NoTV]
|
|
[BaseType (typeof(AVMovieTrack))]
|
|
[DisableDefaultCtor]
|
|
interface AVMutableMovieTrack
|
|
{
|
|
[NullAllowed, Export ("mediaDataStorage", ArgumentSemantic.Copy)]
|
|
AVMediaDataStorage MediaDataStorage { get; set; }
|
|
|
|
[NullAllowed, Export ("sampleReferenceBaseURL", ArgumentSemantic.Copy)]
|
|
NSUrl SampleReferenceBaseURL { get; set; }
|
|
|
|
[Export ("enabled")]
|
|
bool Enabled { [Bind ("isEnabled")] get; set; }
|
|
|
|
[Export ("alternateGroupID")]
|
|
nint AlternateGroupID { get; set; }
|
|
|
|
[Export ("modified")]
|
|
bool Modified { [Bind ("isModified")] get; set; }
|
|
|
|
[Export ("hasProtectedContent")]
|
|
bool HasProtectedContent { get; }
|
|
|
|
[Export ("timescale")]
|
|
int Timescale { get; set; }
|
|
|
|
// AVMutableMovieTrack_AVMutableMovieTrack_LanguageProperties
|
|
[NullAllowed, Export ("languageCode")]
|
|
string LanguageCode { get; set; }
|
|
|
|
[NullAllowed, Export ("extendedLanguageTag")]
|
|
string ExtendedLanguageTag { get; set; }
|
|
|
|
// AVMutableMovieTrack_AVMutableMovieTrack_PropertiesForVisualCharacteristic
|
|
[Export ("naturalSize", ArgumentSemantic.Assign)]
|
|
CGSize NaturalSize { get; set; }
|
|
|
|
[Export ("preferredTransform", ArgumentSemantic.Assign)]
|
|
CGAffineTransform PreferredTransform { get; set; }
|
|
|
|
[Export ("layer")]
|
|
nint Layer { get; set; }
|
|
|
|
[Export ("cleanApertureDimensions", ArgumentSemantic.Assign)]
|
|
CGSize CleanApertureDimensions { get; set; }
|
|
|
|
[Export ("productionApertureDimensions", ArgumentSemantic.Assign)]
|
|
CGSize ProductionApertureDimensions { get; set; }
|
|
|
|
[Export ("encodedPixelsDimensions", ArgumentSemantic.Assign)]
|
|
CGSize EncodedPixelsDimensions { get; set; }
|
|
|
|
// AVMutableMovieTrack_AVMutableMovieTrack_PropertiesForAudibleCharacteristic
|
|
[Export ("preferredVolume")]
|
|
float PreferredVolume { get; set; }
|
|
|
|
// AVMutableMovieTrack_AVMutableMovieTrack_ChunkProperties
|
|
[Export ("preferredMediaChunkSize")]
|
|
nint PreferredMediaChunkSize { get; set; }
|
|
|
|
[Export ("preferredMediaChunkDuration", ArgumentSemantic.Assign)]
|
|
CMTime PreferredMediaChunkDuration { get; set; }
|
|
|
|
[Export ("preferredMediaChunkAlignment")]
|
|
nint PreferredMediaChunkAlignment { get; set; }
|
|
|
|
// AVMutableMovieTrack_AVMutableMovieTrackMetadataEditing
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem[] Metadata { get; set; }
|
|
|
|
[Mac (10,12)]
|
|
[Export ("appendSampleBuffer:decodeTime:presentationTime:error:")]
|
|
bool AppendSampleBuffer (CMSampleBuffer sampleBuffer, out CMTime outDecodeTime, out CMTime presentationTime, out NSError error);
|
|
|
|
[Mac (10,12)]
|
|
[Export ("insertMediaTimeRange:intoTimeRange:")]
|
|
bool InsertMediaTimeRange (CMTimeRange mediaTimeRange, CMTimeRange trackTimeRange);
|
|
|
|
[Mac (10,13)]
|
|
[Export ("replaceFormatDescription:withFormatDescription:")]
|
|
void ReplaceFormatDescription (CMFormatDescription formatDescription, CMFormatDescription newFormatDescription);
|
|
}
|
|
|
|
[Watch (6,0), NoTV, iOS (13,0)]
|
|
[Category]
|
|
[BaseType (typeof(AVMutableMovieTrack))]
|
|
interface AVMutableMovieTrack_AVMutableMovieTrack_TrackLevelEditing
|
|
{
|
|
[Export ("insertTimeRange:ofTrack:atTime:copySampleData:error:")]
|
|
bool InsertTimeRange (CMTimeRange timeRange, AVAssetTrack track, CMTime startTime, bool copySampleData, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("insertEmptyTimeRange:")]
|
|
void InsertEmptyTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("removeTimeRange:")]
|
|
void RemoveTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("scaleTimeRange:toDuration:")]
|
|
void ScaleTimeRange (CMTimeRange timeRange, CMTime duration);
|
|
}
|
|
|
|
[Watch (6,0), iOS (13,0), NoTV]
|
|
[Category]
|
|
[BaseType (typeof(AVMutableMovieTrack))]
|
|
interface AVMutableMovieTrack_AVMutableMovieTrackTrackAssociations
|
|
{
|
|
[Export ("addTrackAssociationToTrack:type:")]
|
|
void AddTrackAssociation (AVMovieTrack movieTrack, string trackAssociationType);
|
|
|
|
[Export ("removeTrackAssociationToTrack:type:")]
|
|
void RemoveTrackAssociation (AVMovieTrack movieTrack, string trackAssociationType);
|
|
}
|
|
|
|
[Mac (10,10), NoTV, Watch (6,0), iOS (13,0)]
|
|
[BaseType (typeof(AVMovieTrack))]
|
|
[DisableDefaultCtor]
|
|
interface AVFragmentedMovieTrack
|
|
{
|
|
#if !NET
|
|
[NoiOS, NoWatch]
|
|
[Field ("AVFragmentedMovieTrackTimeRangeDidChangeNotification")]
|
|
NSString ATimeRangeDidChangeNotification { get; }
|
|
#endif
|
|
|
|
[Field ("AVFragmentedMovieTrackTimeRangeDidChangeNotification")]
|
|
[Notification]
|
|
NSString TimeRangeDidChangeNotification { get; }
|
|
|
|
[Notification]
|
|
[Field ("AVFragmentedMovieTrackSegmentsDidChangeNotification")]
|
|
NSString SegmentsDidChangeNotification { get; }
|
|
|
|
[NoiOS, NoWatch]
|
|
[Deprecated (PlatformName.MacOSX, 10, 11, message: "Use either 'AVFragmentedMovieTrackTimeRangeDidChangeNotification' or 'AVFragmentedMovieTrackSegmentsDidChangeNotification' instead. In either case, you can assume that the sender's 'TotalSampleDataLength' has changed.")]
|
|
[Field ("AVFragmentedMovieTrackTotalSampleDataLengthDidChangeNotification")]
|
|
NSString TotalSampleDataLengthDidChangeNotification { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVMetadataItem))]
|
|
interface AVMutableMetadataItem {
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("keySpace", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
string KeySpace { get; set; }
|
|
|
|
[Export ("metadataItem"), Static]
|
|
AVMutableMetadataItem Create ();
|
|
|
|
[Export ("duration")]
|
|
[Override]
|
|
CMTime Duration { get; set; }
|
|
|
|
[iOS (8,0)]
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("identifier", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSString MetadataIdentifier { get; set; }
|
|
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("locale", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSLocale Locale { get; set; }
|
|
|
|
[Export ("time")]
|
|
[Override]
|
|
CMTime Time { get; set; }
|
|
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("value", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSObject Value { get; set; }
|
|
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("extraAttributes", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSDictionary ExtraAttributes { get; set; }
|
|
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("key", ArgumentSemantic.Copy)]
|
|
NSObject Key { get; set; }
|
|
|
|
[iOS (8,0)]
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("dataType", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSString DataType { get; set; }
|
|
|
|
[iOS (8,0)]
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("extendedLanguageTag")]
|
|
[Override]
|
|
string ExtendedLanguageTag { get; set; }
|
|
|
|
[iOS(9,0)][Mac (10,11)]
|
|
[Export ("startDate"), NullAllowed]
|
|
[Override]
|
|
NSDate StartDate { get; set; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVAssetTrack))]
|
|
// 'init' returns NIL
|
|
[DisableDefaultCtor]
|
|
interface AVCompositionTrack {
|
|
[Export ("segments", ArgumentSemantic.Copy)]
|
|
AVCompositionTrackSegment [] Segments { get; }
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("formatDescriptionReplacements")]
|
|
AVCompositionTrackFormatDescriptionReplacement[] FormatDescriptionReplacements { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVCompositionTrack))]
|
|
// 'init' returns NIL
|
|
[DisableDefaultCtor]
|
|
interface AVMutableCompositionTrack {
|
|
[Export ("segments", ArgumentSemantic.Copy), NullAllowed]
|
|
[New]
|
|
AVCompositionTrackSegment [] Segments { get; set; }
|
|
|
|
[Export ("insertTimeRange:ofTrack:atTime:error:")]
|
|
bool InsertTimeRange (CMTimeRange timeRange, AVAssetTrack ofTrack, CMTime atTime, out NSError error);
|
|
|
|
[Export ("insertEmptyTimeRange:")]
|
|
void InsertEmptyTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("removeTimeRange:")]
|
|
void RemoveTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("scaleTimeRange:toDuration:")]
|
|
void ScaleTimeRange (CMTimeRange timeRange, CMTime duration);
|
|
|
|
[Export ("validateTrackSegments:error:")]
|
|
bool ValidateTrackSegments (AVCompositionTrackSegment [] trackSegments, out NSError error);
|
|
|
|
[Export ("extendedLanguageTag", ArgumentSemantic.Copy), NullAllowed]
|
|
[New]
|
|
string ExtendedLanguageTag { get; set; }
|
|
|
|
[Export ("languageCode", ArgumentSemantic.Copy), NullAllowed]
|
|
[New]
|
|
string LanguageCode { get; set; }
|
|
|
|
[Export ("naturalTimeScale")]
|
|
[New]
|
|
int /* CMTimeScale = int32_t */ NaturalTimeScale { get; set; }
|
|
|
|
[Export ("preferredTransform")]
|
|
[New]
|
|
CGAffineTransform PreferredTransform { get; set; }
|
|
|
|
[Export ("preferredVolume")]
|
|
[New]
|
|
float PreferredVolume { get; set; } // defined as 'float'
|
|
|
|
// 5.0
|
|
[Export ("insertTimeRanges:ofTracks:atTime:error:")]
|
|
bool InsertTimeRanges (NSValue[] cmTimeRanges, AVAssetTrack [] tracks, CMTime startTime, out NSError error);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[Export ("addTrackAssociationToTrack:type:")]
|
|
void AddTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[Export ("removeTrackAssociationToTrack:type:")]
|
|
void RemoveTrackAssociation (AVCompositionTrack compositionTrack, string trackAssociationType);
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("replaceFormatDescription:withFormatDescription:")]
|
|
void ReplaceFormatDescription (CMFormatDescription originalFormatDescription, [NullAllowed] CMFormatDescription replacementFormatDescription);
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("enabled")]
|
|
bool Enabled { [Bind ("isEnabled")] get; set; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[Static]
|
|
interface AVErrorKeys {
|
|
[Field ("AVFoundationErrorDomain")]
|
|
NSString ErrorDomain { get; }
|
|
|
|
[Field ("AVErrorDeviceKey")]
|
|
NSString Device { get; }
|
|
|
|
[Field ("AVErrorTimeKey")]
|
|
NSString Time { get; }
|
|
|
|
[Field ("AVErrorFileSizeKey")]
|
|
NSString FileSize { get; }
|
|
|
|
[Field ("AVErrorPIDKey")]
|
|
NSString Pid { get; }
|
|
|
|
[Field ("AVErrorRecordingSuccessfullyFinishedKey")]
|
|
NSString RecordingSuccessfullyFinished { get; }
|
|
|
|
[Field ("AVErrorMediaTypeKey")]
|
|
NSString MediaType { get; }
|
|
|
|
[Field ("AVErrorMediaSubTypeKey")]
|
|
NSString MediaSubType { get; }
|
|
|
|
[iOS (8,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVErrorPresentationTimeStampKey")]
|
|
NSString PresentationTimeStamp { get; }
|
|
|
|
[iOS (8,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVErrorPersistentTrackIDKey")]
|
|
NSString PersistentTrackID { get; }
|
|
|
|
[iOS (8,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVErrorFileTypeKey")]
|
|
NSString FileType { get; }
|
|
|
|
[NoiOS, NoWatch]
|
|
[NoTV]
|
|
[Field ("AVErrorDiscontinuityFlagsKey")]
|
|
NSString DiscontinuityFlags { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAssetTrackSegment {
|
|
[Export ("empty")]
|
|
bool Empty { [Bind ("isEmpty")] get; }
|
|
|
|
[Export ("timeMapping")]
|
|
CMTimeMapping TimeMapping { get; }
|
|
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVAsset))]
|
|
interface AVComposition : NSMutableCopying {
|
|
[Export ("tracks")]
|
|
[New]
|
|
AVCompositionTrack [] Tracks { get; }
|
|
|
|
[Export ("naturalSize")]
|
|
[New]
|
|
CGSize NaturalSize { get; [NotImplemented] set; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Export ("URLAssetInitializationOptions", ArgumentSemantic.Copy)]
|
|
NSDictionary<NSString,NSObject> UrlAssetInitializationOptions { get; }
|
|
}
|
|
|
|
[iOS (9,0), Mac (10,11), Watch (6,0)]
|
|
[Category]
|
|
[BaseType (typeof (AVComposition))]
|
|
interface AVComposition_AVCompositionTrackInspection {
|
|
|
|
[Export ("trackWithTrackID:")]
|
|
[return: NullAllowed]
|
|
AVCompositionTrack GetTrack (int trackID);
|
|
|
|
[Export ("tracksWithMediaType:")]
|
|
AVCompositionTrack[] GetTracks (string mediaType);
|
|
|
|
[Wrap ("This.GetTracks (mediaType.GetConstant ())")]
|
|
AVCompositionTrack[] GetTracks (AVMediaTypes mediaType);
|
|
|
|
[Export ("tracksWithMediaCharacteristic:")]
|
|
AVCompositionTrack[] GetTracksWithMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Wrap ("This.GetTracksWithMediaCharacteristic (mediaCharacteristic.GetConstant ())")]
|
|
AVCompositionTrack[] GetTracks (AVMediaCharacteristics mediaCharacteristic);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTrackWithTrackID:completionHandler:")]
|
|
void LoadTrack (int trackId, Action<AVMutableCompositionTrack, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaType:completionHandler:")]
|
|
void LoadTracksWithMediaType (string mediaType, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaCharacteristic:completionHandler:")]
|
|
void LoadTracksWithMediaCharacteristic (string mediaCharacteristic, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVComposition))]
|
|
interface AVMutableComposition {
|
|
|
|
[Export ("composition"), Static]
|
|
AVMutableComposition Create ();
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Static]
|
|
[Export ("compositionWithURLAssetInitializationOptions:")]
|
|
AVMutableComposition FromOptions ([NullAllowed] NSDictionary<NSString,NSObject> urlAssetInitializationOptions);
|
|
|
|
[Export ("insertTimeRange:ofAsset:atTime:error:")]
|
|
bool Insert (CMTimeRange insertTimeRange, AVAsset sourceAsset, CMTime atTime, out NSError error);
|
|
|
|
[Export ("insertEmptyTimeRange:")]
|
|
void InserEmptyTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("removeTimeRange:")]
|
|
void RemoveTimeRange (CMTimeRange timeRange);
|
|
|
|
[Export ("scaleTimeRange:toDuration:")]
|
|
void ScaleTimeRange (CMTimeRange timeRange, CMTime duration);
|
|
|
|
[Export ("addMutableTrackWithMediaType:preferredTrackID:")]
|
|
[return: NullAllowed]
|
|
AVMutableCompositionTrack AddMutableTrack (string mediaType, int /* CMPersistentTrackID = int32_t */ preferredTrackId);
|
|
|
|
[Export ("removeTrack:")]
|
|
void RemoveTrack (AVCompositionTrack track);
|
|
|
|
[Export ("mutableTrackCompatibleWithTrack:")]
|
|
[return: NullAllowed]
|
|
AVMutableCompositionTrack CreateMutableTrack (AVAssetTrack referenceTrack);
|
|
|
|
[Export ("naturalSize")]
|
|
[Override]
|
|
CGSize NaturalSize { get; set; }
|
|
}
|
|
|
|
[iOS (9,0), Mac (10,11), Watch (6,0)]
|
|
[Category]
|
|
[BaseType (typeof (AVMutableComposition))]
|
|
interface AVMutableComposition_AVMutableCompositionTrackInspection {
|
|
|
|
[Export ("trackWithTrackID:")]
|
|
[return: NullAllowed]
|
|
AVMutableCompositionTrack GetTrack (int trackID);
|
|
|
|
[Export ("tracksWithMediaType:")]
|
|
AVMutableCompositionTrack[] GetTracks (string mediaType);
|
|
|
|
[Wrap ("This.GetTracks (mediaType.GetConstant ())")]
|
|
AVMutableCompositionTrack[] GetTracks (AVMediaTypes mediaType);
|
|
|
|
[Export ("tracksWithMediaCharacteristic:")]
|
|
AVMutableCompositionTrack[] GetTracksWithMediaCharacteristic (string mediaCharacteristic);
|
|
|
|
[Wrap ("This.GetTracksWithMediaCharacteristic (mediaCharacteristic.GetConstant ())")]
|
|
AVMutableCompositionTrack[] GetTracks (AVMediaCharacteristics mediaCharacteristic);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTrackWithTrackID:completionHandler:")]
|
|
void LoadTrack (int trackId, Action<AVMutableCompositionTrack, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaType:completionHandler:")]
|
|
void LoadTracksWithMediaType (string mediaType, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
|
|
[Async]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("loadTracksWithMediaCharacteristic:completionHandler:")]
|
|
void LoadTracksWithMediaCharacteristic (string mediaCharacteristic, Action<NSArray<AVMutableCompositionTrack>, NSError> completionHandler);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVAssetTrackSegment))]
|
|
interface AVCompositionTrackSegment {
|
|
[Export ("sourceURL"), NullAllowed]
|
|
NSUrl SourceUrl { get; }
|
|
|
|
[Export ("sourceTrackID")]
|
|
int SourceTrackID { get; } /* CMPersistentTrackID = int32_t */
|
|
|
|
[Static]
|
|
[Export ("compositionTrackSegmentWithURL:trackID:sourceTimeRange:targetTimeRange:")]
|
|
IntPtr FromUrl (NSUrl url, int /* CMPersistentTrackID = int32_t */ trackID, CMTimeRange sourceTimeRange, CMTimeRange targetTimeRange);
|
|
|
|
[Static]
|
|
[Export ("compositionTrackSegmentWithTimeRange:")]
|
|
IntPtr FromTimeRange (CMTimeRange timeRange);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithURL:trackID:sourceTimeRange:targetTimeRange:")]
|
|
NativeHandle Constructor (NSUrl URL, int trackID /* CMPersistentTrackID = int32_t */, CMTimeRange sourceTimeRange, CMTimeRange targetTimeRange);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithTimeRange:")]
|
|
NativeHandle Constructor (CMTimeRange timeRange);
|
|
|
|
[Export ("empty")]
|
|
bool Empty { [Bind ("isEmpty")] get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
// 'init' returns NIL
|
|
[DisableDefaultCtor]
|
|
interface AVAssetExportSession {
|
|
[Export ("presetName")]
|
|
string PresetName { get; }
|
|
|
|
[Export ("supportedFileTypes")]
|
|
#if NET
|
|
string [] SupportedFileTypes { get; }
|
|
#else
|
|
NSObject [] SupportedFileTypes { get; }
|
|
#endif
|
|
|
|
[NullAllowed]
|
|
[Export ("outputFileType", ArgumentSemantic.Copy)]
|
|
string OutputFileType { get; set; }
|
|
|
|
[NullAllowed]
|
|
[Export ("outputURL", ArgumentSemantic.Copy)]
|
|
NSUrl OutputUrl { get; set; }
|
|
|
|
[return: NullAllowed]
|
|
[Static, Export ("exportSessionWithAsset:presetName:")]
|
|
AVAssetExportSession FromAsset (AVAsset asset, string presetName);
|
|
|
|
[Export ("status")]
|
|
AVAssetExportSessionStatus Status { get; }
|
|
|
|
[Export ("progress")]
|
|
float Progress { get; } // defined as 'float'
|
|
|
|
[NoWatch]
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'EstimateMaximumDuration' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 13,0, message: "Use 'EstimateMaximumDuration' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10,15, message: "Use 'EstimateMaximumDuration' instead.")]
|
|
[Export ("maxDuration")]
|
|
CMTime MaxDuration { get; }
|
|
|
|
[Export ("timeRange", ArgumentSemantic.Assign)]
|
|
CMTimeRange TimeRange { get; set; }
|
|
|
|
[Export ("metadata", ArgumentSemantic.Copy), NullAllowed]
|
|
AVMetadataItem [] Metadata { get; set; }
|
|
|
|
[Export ("fileLengthLimit")]
|
|
long FileLengthLimit { get; set; }
|
|
|
|
[Export ("audioMix", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioMix AudioMix { get; set; }
|
|
|
|
[NullAllowed, Export ("videoComposition", ArgumentSemantic.Copy)]
|
|
AVVideoComposition VideoComposition { get; set; }
|
|
|
|
[Export ("shouldOptimizeForNetworkUse")]
|
|
bool ShouldOptimizeForNetworkUse { get; set; }
|
|
|
|
[Static, Export ("allExportPresets")]
|
|
string [] AllExportPresets { get; }
|
|
|
|
[Static]
|
|
[Export ("exportPresetsCompatibleWithAsset:")]
|
|
string [] ExportPresetsCompatibleWithAsset (AVAsset asset);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAsset:presetName:")]
|
|
NativeHandle Constructor (AVAsset asset, string presetName);
|
|
|
|
[Wrap ("this (asset, preset.GetConstant ())")]
|
|
NativeHandle Constructor (AVAsset asset, AVAssetExportSessionPreset preset);
|
|
|
|
[Export ("exportAsynchronouslyWithCompletionHandler:")]
|
|
[Async ("ExportTaskAsync")]
|
|
void ExportAsynchronously (Action handler);
|
|
|
|
[Export ("cancelExport")]
|
|
void CancelExport ();
|
|
|
|
[Export ("error"), NullAllowed]
|
|
NSError Error { get; }
|
|
|
|
[Mac(10,11)]
|
|
[Field ("AVAssetExportPresetLowQuality")]
|
|
NSString PresetLowQuality { get; }
|
|
|
|
[Mac(10,11)]
|
|
[Field ("AVAssetExportPresetMediumQuality")]
|
|
NSString PresetMediumQuality { get; }
|
|
|
|
[Mac(10,11)]
|
|
[Field ("AVAssetExportPresetHighestQuality")]
|
|
NSString PresetHighestQuality { get; }
|
|
|
|
[iOS (11, 0), Mac (10,13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVAssetExportPresetHEVCHighestQuality")]
|
|
NSString PresetHevcHighestQuality { get; }
|
|
|
|
[iOS (11, 0), Mac (10,13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVAssetExportPresetHEVC3840x2160")]
|
|
NSString PresetHevc3840x2160 { get; }
|
|
|
|
[Field ("AVAssetExportPreset640x480")]
|
|
NSString Preset640x480 { get; }
|
|
|
|
[Field ("AVAssetExportPreset960x540")]
|
|
NSString Preset960x540 { get; }
|
|
|
|
[Field ("AVAssetExportPreset1280x720")]
|
|
NSString Preset1280x720 { get; }
|
|
|
|
[Field ("AVAssetExportPreset1920x1080")]
|
|
NSString Preset1920x1080 { get; }
|
|
|
|
[iOS (9,0)]
|
|
[Mac (10,10)]
|
|
[Field ("AVAssetExportPreset3840x2160")]
|
|
NSString Preset3840x2160 { get; }
|
|
|
|
[iOS (11, 0), Mac (10,13)]
|
|
[TV (11, 0)]
|
|
[Field ("AVAssetExportPresetHEVC1920x1080")]
|
|
NSString PresetHevc1920x1080 { get; }
|
|
|
|
[Field ("AVAssetExportPresetAppleM4A")]
|
|
NSString PresetAppleM4A { get; }
|
|
|
|
[Field ("AVAssetExportPresetPassthrough")]
|
|
NSString PresetPassthrough { get; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), iOS (15,0), Mac (10,15)]
|
|
[Field ("AVAssetExportPresetAppleProRes4444LPCM")]
|
|
NSString PresetAppleProRes4444Lpcm { get; }
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Field ("AVAssetExportPresetHEVC1920x1080WithAlpha")]
|
|
NSString PresetHevc1920x1080WithAlpha { get; }
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Field ("AVAssetExportPresetHEVC3840x2160WithAlpha")]
|
|
NSString PresetHevc3840x2160WithAlpha { get; }
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,1)]
|
|
[Field ("AVAssetExportPresetHEVC7680x4320")]
|
|
NSString PresetHevc7680x4320 { get; }
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Field ("AVAssetExportPresetHEVCHighestQualityWithAlpha")]
|
|
NSString PresetHevcHighestQualityWithAlpha { get; }
|
|
|
|
// 5.0 APIs
|
|
[Export ("asset", ArgumentSemantic.Retain)]
|
|
AVAsset Asset { get; }
|
|
|
|
[NoWatch]
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'EstimateOutputFileLength' for more precise results.")]
|
|
[Deprecated (PlatformName.TvOS, 13,0, message: "Use 'EstimateOutputFileLength' for more precise results.")]
|
|
[Deprecated (PlatformName.MacOSX, 10,15, message: "Use 'EstimateOutputFileLength' for more precise results.")]
|
|
[Export ("estimatedOutputFileLength")]
|
|
long EstimatedOutputFileLength { get; }
|
|
|
|
[Mac (10, 9)]
|
|
[Static, Export ("determineCompatibilityOfExportPreset:withAsset:outputFileType:completionHandler:")]
|
|
[Async]
|
|
void DetermineCompatibilityOfExportPreset (string presetName, AVAsset asset, [NullAllowed] string outputFileType, Action<bool> isCompatibleResult);
|
|
|
|
[Async]
|
|
[Wrap ("DetermineCompatibilityOfExportPreset (presetName, asset, outputFileType.GetConstant (), isCompatibleResult)")]
|
|
void DetermineCompatibilityOfExportPreset (string presetName, AVAsset asset, [NullAllowed] AVFileTypes outputFileType, Action<bool> isCompatibleResult);
|
|
|
|
[Mac (10, 9)]
|
|
[Export ("determineCompatibleFileTypesWithCompletionHandler:")]
|
|
[Async]
|
|
void DetermineCompatibleFileTypes (Action<string []> compatibleFileTypesHandler);
|
|
|
|
[iOS (7,0), Mac (10,9)]
|
|
[Export ("metadataItemFilter", ArgumentSemantic.Retain), NullAllowed]
|
|
AVMetadataItemFilter MetadataItemFilter { get; set; }
|
|
|
|
[NoWatch]
|
|
[Mac (10,9)]
|
|
[iOS (7,0)]
|
|
[NullAllowed, Export ("customVideoCompositor", ArgumentSemantic.Copy)]
|
|
[Protocolize]
|
|
AVVideoCompositing CustomVideoCompositor { get; }
|
|
|
|
// DOC: Use the values from AVAudioTimePitchAlgorithm class.
|
|
[Mac (10,9)]
|
|
[iOS (7, 0), Export ("audioTimePitchAlgorithm", ArgumentSemantic.Copy)]
|
|
NSString AudioTimePitchAlgorithm { get; set; }
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("canPerformMultiplePassesOverSourceMediaData")]
|
|
[Advice ("This property cannot be set after the export has started.")]
|
|
bool CanPerformMultiplePassesOverSourceMediaData { get; set; }
|
|
|
|
[iOS (8,0), Mac (10,10)]
|
|
[Export ("directoryForTemporaryFiles", ArgumentSemantic.Copy), NullAllowed]
|
|
[Advice ("This property cannot be set after the export has started.")]
|
|
NSUrl DirectoryForTemporaryFiles { get; set; }
|
|
|
|
[Async]
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("estimateMaximumDurationWithCompletionHandler:")]
|
|
void EstimateMaximumDuration (Action<CMTime, NSError> handler);
|
|
|
|
[Async]
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("estimateOutputFileLengthWithCompletionHandler:")]
|
|
void EstimateOutputFileLength (Action<long, NSError> handler);
|
|
}
|
|
|
|
[iOS (7,0), Watch (6,0)]
|
|
[Static]
|
|
interface AVAudioTimePitchAlgorithm {
|
|
[NoMac]
|
|
[Field ("AVAudioTimePitchAlgorithmLowQualityZeroLatency")]
|
|
NSString LowQualityZeroLatency { get; }
|
|
|
|
[Mac (10,9)]
|
|
[Field ("AVAudioTimePitchAlgorithmTimeDomain")]
|
|
NSString TimeDomain { get; }
|
|
|
|
[Mac (10,9)]
|
|
[Field ("AVAudioTimePitchAlgorithmSpectral")]
|
|
NSString Spectral { get; }
|
|
|
|
[Mac (10,9)]
|
|
[Field ("AVAudioTimePitchAlgorithmVarispeed")]
|
|
NSString Varispeed { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioMix : NSMutableCopying {
|
|
[Export ("inputParameters", ArgumentSemantic.Copy)]
|
|
AVAudioMixInputParameters [] InputParameters { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVAudioMix))]
|
|
interface AVMutableAudioMix {
|
|
[Export ("inputParameters", ArgumentSemantic.Copy)]
|
|
AVAudioMixInputParameters [] InputParameters { get; set; }
|
|
|
|
[Static, Export ("audioMix")]
|
|
AVMutableAudioMix Create ();
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioMixInputParameters : NSMutableCopying {
|
|
[Export ("trackID")]
|
|
int TrackID { get; } // defined as 'CMPersistentTrackID' = int32_t
|
|
|
|
[Export ("getVolumeRampForTime:startVolume:endVolume:timeRange:")]
|
|
bool GetVolumeRamp (CMTime forTime, ref float /* defined as 'float*' */ startVolume, ref float /* defined as 'float*' */ endVolume, ref CMTimeRange timeRange);
|
|
|
|
[Mac (10,9), NoWatch]
|
|
[NullAllowed]
|
|
[Export ("audioTapProcessor", ArgumentSemantic.Retain)]
|
|
MTAudioProcessingTap AudioTapProcessor { get; [NotImplemented] set;}
|
|
|
|
[iOS (7,0), Mac (10,11)]
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("audioTimePitchAlgorithm", ArgumentSemantic.Copy)]
|
|
NSString AudioTimePitchAlgorithm { get; [NotImplemented] set; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVAudioMixInputParameters))]
|
|
interface AVMutableAudioMixInputParameters {
|
|
[Export ("trackID")]
|
|
int TrackID { get; set; } // defined as 'CMPersistentTrackID'
|
|
|
|
[Static]
|
|
[Export ("audioMixInputParametersWithTrack:")]
|
|
AVMutableAudioMixInputParameters FromTrack ([NullAllowed] AVAssetTrack track);
|
|
|
|
[Static]
|
|
[Export ("audioMixInputParameters")]
|
|
AVMutableAudioMixInputParameters Create ();
|
|
|
|
[Export ("setVolumeRampFromStartVolume:toEndVolume:timeRange:")]
|
|
void SetVolumeRamp (float /* defined as 'float' */ startVolume, float /* defined as 'float' */ endVolume, CMTimeRange timeRange);
|
|
|
|
[Export ("setVolume:atTime:")]
|
|
void SetVolume (float /* defined as 'float' */ volume, CMTime atTime);
|
|
|
|
[Mac (10,9), NoWatch]
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("audioTapProcessor", ArgumentSemantic.Retain)]
|
|
[Override]
|
|
MTAudioProcessingTap AudioTapProcessor { get; set; }
|
|
|
|
[iOS (7,0), Mac (10,10)]
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("audioTimePitchAlgorithm", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
NSString AudioTimePitchAlgorithm { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Model, BaseType (typeof (NSObject))]
|
|
[Protocol]
|
|
interface AVVideoCompositing {
|
|
[Abstract]
|
|
[return: NullAllowed]
|
|
[Export ("sourcePixelBufferAttributes")]
|
|
NSDictionary SourcePixelBufferAttributes ();
|
|
|
|
[Abstract]
|
|
[Export ("requiredPixelBufferAttributesForRenderContext")]
|
|
NSDictionary RequiredPixelBufferAttributesForRenderContext ();
|
|
|
|
[Abstract]
|
|
[Export ("renderContextChanged:")]
|
|
void RenderContextChanged (AVVideoCompositionRenderContext newRenderContext);
|
|
|
|
[Abstract]
|
|
[Export ("startVideoCompositionRequest:")]
|
|
void StartVideoCompositionRequest (AVAsynchronousVideoCompositionRequest asyncVideoCompositionRequest);
|
|
|
|
[Export ("cancelAllPendingVideoCompositionRequests")]
|
|
void CancelAllPendingVideoCompositionRequests ();
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Export ("supportsWideColorSourceFrames")]
|
|
bool SupportsWideColorSourceFrames { get; }
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("anticipateRenderingUsingHint:")]
|
|
void AnticipateRendering (AVVideoCompositionRenderHint renderHint);
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("prerollForRenderingUsingHint:")]
|
|
void PrerollForRendering (AVVideoCompositionRenderHint renderHint);
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Export ("supportsHDRSourceFrames")]
|
|
bool SupportsHdrSourceFrames { get; }
|
|
|
|
[TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("canConformColorOfSourceFrames")]
|
|
bool CanConformColorOfSourceFrames { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVVideoComposition : NSMutableCopying {
|
|
[Export ("frameDuration")]
|
|
CMTime FrameDuration { get; }
|
|
|
|
[Export ("renderSize")]
|
|
CGSize RenderSize { get; }
|
|
|
|
[Export ("instructions", ArgumentSemantic.Copy)]
|
|
AVVideoCompositionInstruction [] Instructions { get; }
|
|
|
|
[NoWatch]
|
|
[Export ("animationTool", ArgumentSemantic.Retain), NullAllowed]
|
|
AVVideoCompositionCoreAnimationTool AnimationTool { get; }
|
|
|
|
[Mac (10,14)]
|
|
[Export ("renderScale")]
|
|
float RenderScale { get; [NotImplemented] set; } // defined as 'float'
|
|
|
|
[NoWatch]
|
|
[Export ("isValidForAsset:timeRange:validationDelegate:")]
|
|
bool IsValidForAsset ([NullAllowed] AVAsset asset, CMTimeRange timeRange, [Protocolize] [NullAllowed] AVVideoCompositionValidationHandling validationDelegate);
|
|
|
|
[Mac (10, 9)]
|
|
[Static, Export ("videoCompositionWithPropertiesOfAsset:")]
|
|
AVVideoComposition FromAssetProperties (AVAsset asset);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("customVideoCompositorClass", ArgumentSemantic.Copy), NullAllowed]
|
|
Class CustomVideoCompositorClass { get; [NotImplemented] set; }
|
|
|
|
[NoWatch]
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Static]
|
|
[Export ("videoCompositionWithAsset:applyingCIFiltersWithHandler:")]
|
|
AVVideoComposition CreateVideoComposition (AVAsset asset, Action<AVAsynchronousCIImageFilteringRequest> applier);
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("colorPrimaries")]
|
|
string ColorPrimaries { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("colorYCbCrMatrix")]
|
|
string ColorYCbCrMatrix { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("colorTransferFunction")]
|
|
string ColorTransferFunction { get; }
|
|
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("sourceSampleDataTrackIDs")]
|
|
[BindAs (typeof (int[]))]
|
|
NSNumber[] SourceSampleDataTrackIds { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVVideoCompositionRenderContext {
|
|
[Export ("size", ArgumentSemantic.Copy)]
|
|
CGSize Size { get; }
|
|
|
|
[Export ("renderTransform", ArgumentSemantic.Copy)]
|
|
CGAffineTransform RenderTransform { get; }
|
|
|
|
[Export ("renderScale")]
|
|
float RenderScale { get; } // defined as 'float'
|
|
|
|
[Export ("pixelAspectRatio", ArgumentSemantic.Copy)]
|
|
AVPixelAspectRatio PixelAspectRatio { get; }
|
|
|
|
[Export ("edgeWidths", ArgumentSemantic.Copy)]
|
|
AVEdgeWidths EdgeWidths { get; }
|
|
|
|
[Export ("highQualityRendering")]
|
|
bool HighQualityRendering { get; }
|
|
|
|
[Export ("videoComposition", ArgumentSemantic.Copy)]
|
|
AVVideoComposition VideoComposition { get; }
|
|
|
|
[return: NullAllowed, Release]
|
|
[Export ("newPixelBuffer")]
|
|
CVPixelBuffer CreatePixelBuffer ();
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
[DisableDefaultCtor]
|
|
interface AVVideoCompositionValidationHandling {
|
|
[NoWatch]
|
|
[Export ("videoComposition:shouldContinueValidatingAfterFindingInvalidValueForKey:")]
|
|
bool ShouldContinueValidatingAfterFindingInvalidValueForKey (AVVideoComposition videoComposition, string key);
|
|
|
|
[NoWatch]
|
|
[Export ("videoComposition:shouldContinueValidatingAfterFindingEmptyTimeRange:")]
|
|
bool ShouldContinueValidatingAfterFindingEmptyTimeRange (AVVideoComposition videoComposition, CMTimeRange timeRange);
|
|
|
|
[NoWatch]
|
|
[Export ("videoComposition:shouldContinueValidatingAfterFindingInvalidTimeRangeInInstruction:")]
|
|
bool ShouldContinueValidatingAfterFindingInvalidTimeRangeInInstruction (AVVideoComposition videoComposition, AVVideoCompositionInstruction videoCompositionInstruction);
|
|
|
|
[NoWatch]
|
|
[Export ("videoComposition:shouldContinueValidatingAfterFindingInvalidTrackIDInInstruction:layerInstruction:asset:")]
|
|
bool ShouldContinueValidatingAfterFindingInvalidTrackIDInInstruction (AVVideoComposition videoComposition, AVVideoCompositionInstruction videoCompositionInstruction, AVVideoCompositionLayerInstruction layerInstruction, AVAsset asset);
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (AVVideoComposition))]
|
|
interface AVMutableVideoComposition {
|
|
[Export ("frameDuration", ArgumentSemantic.Assign)]
|
|
CMTime FrameDuration { get; set; }
|
|
|
|
[Export ("renderSize", ArgumentSemantic.Assign)]
|
|
CGSize RenderSize { get; set; }
|
|
|
|
[Export ("instructions", ArgumentSemantic.Copy)]
|
|
AVVideoCompositionInstruction [] Instructions { get; set; }
|
|
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("animationTool", ArgumentSemantic.Retain)]
|
|
AVVideoCompositionCoreAnimationTool AnimationTool { get; set; }
|
|
|
|
[Mac (10,14)]
|
|
[Export ("renderScale")]
|
|
float RenderScale { get; set; } // defined as 'float'
|
|
|
|
[Static, Export ("videoComposition")]
|
|
AVMutableVideoComposition Create ();
|
|
|
|
// in 7.0 they declared this was available in 6.0
|
|
[Mac (10, 9)]
|
|
[Static, Export ("videoCompositionWithPropertiesOfAsset:")]
|
|
AVMutableVideoComposition Create (AVAsset asset);
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Static]
|
|
[Export ("videoCompositionWithPropertiesOfAsset:prototypeInstruction:")]
|
|
AVMutableVideoComposition Create (AVAsset asset, AVVideoCompositionInstruction prototypeInstruction);
|
|
|
|
[NullAllowed]
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("customVideoCompositorClass", ArgumentSemantic.Retain)]
|
|
[Override]
|
|
Class CustomVideoCompositorClass { get; set; }
|
|
|
|
[NoWatch]
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Static]
|
|
[Export ("videoCompositionWithAsset:applyingCIFiltersWithHandler:")]
|
|
AVMutableVideoComposition GetVideoComposition (AVAsset asset, Action<AVAsynchronousCIImageFilteringRequest> applier);
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("colorPrimaries")]
|
|
string ColorPrimaries { get; set; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("colorYCbCrMatrix")]
|
|
string ColorYCbCrMatrix { get; set; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("colorTransferFunction")]
|
|
string ColorTransferFunction { get; set; }
|
|
|
|
[Mac (10, 13), iOS (11, 0), TV (11, 0)]
|
|
[Export ("sourceTrackIDForFrameTiming")]
|
|
int SourceTrackIdForFrameTiming { get; set; }
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("sourceSampleDataTrackIDs", ArgumentSemantic.Copy)]
|
|
[BindAs (typeof (int[]))]
|
|
NSNumber[] SourceSampleDataTrackIds { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVVideoCompositionInstruction : NSSecureCoding, NSMutableCopying {
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; [NotImplemented ("Not available on AVVideoCompositionInstruction, only available on AVMutableVideoCompositionInstruction")]set; }
|
|
|
|
[NullAllowed]
|
|
[Export ("backgroundColor", ArgumentSemantic.Retain)]
|
|
CGColor BackgroundColor { get;
|
|
[NotImplemented] set;
|
|
}
|
|
|
|
[NoWatch]
|
|
[Export ("layerInstructions", ArgumentSemantic.Copy)]
|
|
AVVideoCompositionLayerInstruction [] LayerInstructions { get; [NotImplemented ("Not available on AVVideoCompositionInstruction, only available on AVMutableVideoCompositionInstruction")]set; }
|
|
|
|
[Export ("enablePostProcessing")]
|
|
bool EnablePostProcessing { get; [NotImplemented ("Not available on AVVideoCompositionInstruction, only available on AVMutableVideoCompositionInstruction")]set; }
|
|
|
|
// These are there because it adopts the protocol *of the same name*
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("containsTweening")]
|
|
bool ContainsTweening { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[NullAllowed, Export ("requiredSourceTrackIDs")]
|
|
NSNumber[] RequiredSourceTrackIDs { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("passthroughTrackID")]
|
|
int PassthroughTrackID { get; } /* CMPersistentTrackID = int32_t */
|
|
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[BindAs (typeof (int[]))]
|
|
[Export ("requiredSourceSampleDataTrackIDs")] /* CMPersistentTrackID = int32_t */
|
|
NSNumber[] RequiredSourceSampleDataTrackIds { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (AVVideoCompositionInstruction))]
|
|
interface AVMutableVideoCompositionInstruction {
|
|
[Export ("timeRange", ArgumentSemantic.Assign)]
|
|
[Override]
|
|
CMTimeRange TimeRange { get; set; }
|
|
|
|
[NullAllowed]
|
|
[Export ("backgroundColor", ArgumentSemantic.Retain)]
|
|
[Override]
|
|
CGColor BackgroundColor { get; set; }
|
|
|
|
[Export ("enablePostProcessing", ArgumentSemantic.Assign)]
|
|
[Override]
|
|
bool EnablePostProcessing { get; set; }
|
|
|
|
[Export ("layerInstructions", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
AVVideoCompositionLayerInstruction [] LayerInstructions { get; set; }
|
|
|
|
[Static, Export ("videoCompositionInstruction")]
|
|
AVVideoCompositionInstruction Create ();
|
|
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[BindAs (typeof (int[]))]
|
|
[Export ("requiredSourceSampleDataTrackIDs", ArgumentSemantic.Copy)]
|
|
NSNumber[] RequiredSourceSampleDataTrackIds { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVVideoCompositionLayerInstruction : NSSecureCoding, NSMutableCopying {
|
|
[Export ("trackID", ArgumentSemantic.Assign)]
|
|
int TrackID { get; } // defined as 'CMPersistentTrackID' = int32_t
|
|
|
|
[Export ("getTransformRampForTime:startTransform:endTransform:timeRange:")]
|
|
bool GetTransformRamp (CMTime time, ref CGAffineTransform startTransform, ref CGAffineTransform endTransform, ref CMTimeRange timeRange);
|
|
|
|
[Export ("getOpacityRampForTime:startOpacity:endOpacity:timeRange:")]
|
|
bool GetOpacityRamp (CMTime time, ref float /* defined as 'float*' */ startOpacity, ref float /* defined as 'float*' */ endOpacity, ref CMTimeRange timeRange);
|
|
|
|
[iOS (7,0), Mac (10, 9), Export ("getCropRectangleRampForTime:startCropRectangle:endCropRectangle:timeRange:")]
|
|
bool GetCrop (CMTime time, ref CGRect startCropRectangle, ref CGRect endCropRectangle, ref CMTimeRange timeRange);
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (AVVideoCompositionLayerInstruction))]
|
|
interface AVMutableVideoCompositionLayerInstruction {
|
|
[Export ("trackID", ArgumentSemantic.Assign)]
|
|
int TrackID { get; set; } // defined as 'CMPersistentTrackID' = int32w_t
|
|
|
|
[Static]
|
|
[Export ("videoCompositionLayerInstructionWithAssetTrack:")]
|
|
AVMutableVideoCompositionLayerInstruction FromAssetTrack (AVAssetTrack track);
|
|
|
|
[Static]
|
|
[Export ("videoCompositionLayerInstruction")]
|
|
AVMutableVideoCompositionLayerInstruction Create ();
|
|
|
|
[Export ("setTransformRampFromStartTransform:toEndTransform:timeRange:")]
|
|
void SetTransformRamp (CGAffineTransform startTransform, CGAffineTransform endTransform, CMTimeRange timeRange);
|
|
|
|
[Export ("setTransform:atTime:")]
|
|
void SetTransform (CGAffineTransform transform, CMTime atTime);
|
|
|
|
[Export ("setOpacityRampFromStartOpacity:toEndOpacity:timeRange:")]
|
|
void SetOpacityRamp (float /* defined as 'float' */ startOpacity, float /* defined as 'float' */ endOpacity, CMTimeRange timeRange);
|
|
|
|
[Export ("setOpacity:atTime:")]
|
|
void SetOpacity (float /* defined as 'float' */ opacity, CMTime time);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("setCropRectangleRampFromStartCropRectangle:toEndCropRectangle:timeRange:")]
|
|
void SetCrop (CGRect startCropRectangle, CGRect endCropRectangle, CMTimeRange timeRange);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("setCropRectangle:atTime:")]
|
|
void SetCrop (CGRect cropRectangle, CMTime time);
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVVideoCompositionCoreAnimationTool {
|
|
[Static]
|
|
[Export ("videoCompositionCoreAnimationToolWithAdditionalLayer:asTrackID:")]
|
|
AVVideoCompositionCoreAnimationTool FromLayer (CALayer layer, int /* CMPersistentTrackID = int32_t */ trackID);
|
|
|
|
[Static]
|
|
[Export ("videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:inLayer:")]
|
|
AVVideoCompositionCoreAnimationTool FromLayer (CALayer videoLayer, CALayer animationLayer);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Static, Export ("videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayers:inLayer:")]
|
|
AVVideoCompositionCoreAnimationTool FromComposedVideoFrames (CALayer [] videoLayers, CALayer inAnimationlayer);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[TV (11,0), NoWatch, Mac (10,13), iOS (11,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCameraCalibrationData
|
|
{
|
|
[Export ("intrinsicMatrix")]
|
|
NMatrix3 IntrinsicMatrix { [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; }
|
|
|
|
[Export ("intrinsicMatrixReferenceDimensions")]
|
|
CGSize IntrinsicMatrixReferenceDimensions { get; }
|
|
|
|
[Export ("extrinsicMatrix")]
|
|
NMatrix4x3 ExtrinsicMatrix { [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] get; }
|
|
|
|
[Export ("pixelSize")]
|
|
float PixelSize { get; }
|
|
|
|
[NullAllowed, Export ("lensDistortionLookupTable")]
|
|
NSData LensDistortionLookupTable { get; }
|
|
|
|
[NullAllowed, Export ("inverseLensDistortionLookupTable")]
|
|
NSData InverseLensDistortionLookupTable { get; }
|
|
|
|
[Export ("lensDistortionCenter")]
|
|
CGPoint LensDistortionCenter { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
interface AVCaptureSessionRuntimeErrorEventArgs {
|
|
[Export ("AVCaptureSessionErrorKey")]
|
|
NSError Error { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVCaptureSession {
|
|
|
|
[Export ("sessionPreset", ArgumentSemantic.Copy)]
|
|
NSString SessionPreset { get; set; }
|
|
|
|
[Export ("inputs")]
|
|
AVCaptureInput [] Inputs { get; }
|
|
|
|
[Export ("outputs")]
|
|
AVCaptureOutput [] Outputs { get; }
|
|
|
|
[Export ("running")]
|
|
bool Running { [Bind ("isRunning")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("interrupted")]
|
|
bool Interrupted { [Bind ("isInterrupted")] get; }
|
|
|
|
[Export ("canSetSessionPreset:")]
|
|
bool CanSetSessionPreset (NSString preset);
|
|
|
|
[Export ("canAddInput:")]
|
|
bool CanAddInput (AVCaptureInput input);
|
|
|
|
[Export ("addInput:")]
|
|
void AddInput (AVCaptureInput input);
|
|
|
|
[Export ("removeInput:")]
|
|
void RemoveInput (AVCaptureInput input);
|
|
|
|
[Export ("canAddOutput:")]
|
|
bool CanAddOutput (AVCaptureOutput output);
|
|
|
|
[Export ("addOutput:")]
|
|
void AddOutput (AVCaptureOutput output);
|
|
|
|
[Export ("removeOutput:")]
|
|
void RemoveOutput (AVCaptureOutput output);
|
|
|
|
[Export ("beginConfiguration")]
|
|
void BeginConfiguration ();
|
|
|
|
[Export ("commitConfiguration")]
|
|
void CommitConfiguration ();
|
|
|
|
[Export ("startRunning")]
|
|
void StartRunning ();
|
|
|
|
[Export ("stopRunning")]
|
|
void StopRunning ();
|
|
|
|
[Field ("AVCaptureSessionPresetPhoto")]
|
|
NSString PresetPhoto { get; }
|
|
|
|
[Field ("AVCaptureSessionPresetHigh")]
|
|
NSString PresetHigh { get; }
|
|
|
|
[Field ("AVCaptureSessionPresetMedium")]
|
|
NSString PresetMedium { get; }
|
|
|
|
[Field ("AVCaptureSessionPresetLow")]
|
|
NSString PresetLow { get; }
|
|
|
|
[Field ("AVCaptureSessionPreset640x480")]
|
|
NSString Preset640x480 { get; }
|
|
|
|
[Field ("AVCaptureSessionPreset1280x720")]
|
|
NSString Preset1280x720 { get; }
|
|
|
|
[Mac (10,15)]
|
|
[Field ("AVCaptureSessionPreset1920x1080")]
|
|
NSString Preset1920x1080 { get; }
|
|
|
|
[Mac (10,15)]
|
|
[iOS (9,0)]
|
|
[Field ("AVCaptureSessionPreset3840x2160")]
|
|
NSString Preset3840x2160 { get; }
|
|
|
|
[Unavailable (PlatformName.MacCatalyst)]
|
|
[Field ("AVCaptureSessionPresetiFrame960x540")]
|
|
NSString PresetiFrame960x540 { get; }
|
|
|
|
[Field ("AVCaptureSessionPresetiFrame1280x720")]
|
|
NSString PresetiFrame1280x720 { get; }
|
|
|
|
[Field ("AVCaptureSessionPreset352x288")]
|
|
NSString Preset352x288 { get; }
|
|
|
|
[NoMac]
|
|
[iOS (7,0)]
|
|
[Field ("AVCaptureSessionPresetInputPriority")]
|
|
NSString PresetInputPriority { get; }
|
|
|
|
[NoiOS, NoMacCatalyst]
|
|
[Field ("AVCaptureSessionPreset320x240")]
|
|
NSString Preset320x240 { get; }
|
|
|
|
[NoiOS, NoMacCatalyst]
|
|
[Field ("AVCaptureSessionPreset960x540")]
|
|
NSString Preset960x540 { get; }
|
|
|
|
[Field ("AVCaptureSessionRuntimeErrorNotification")]
|
|
[Notification (typeof (AVCaptureSessionRuntimeErrorEventArgs))]
|
|
NSString RuntimeErrorNotification { get; }
|
|
|
|
[Field ("AVCaptureSessionErrorKey")]
|
|
NSString ErrorKey { get; }
|
|
|
|
[Field ("AVCaptureSessionDidStartRunningNotification")]
|
|
[Notification]
|
|
NSString DidStartRunningNotification { get; }
|
|
|
|
[Field ("AVCaptureSessionDidStopRunningNotification")]
|
|
[Notification]
|
|
NSString DidStopRunningNotification { get; }
|
|
|
|
[Mac (10, 14)]
|
|
[Field ("AVCaptureSessionInterruptionEndedNotification")]
|
|
[Notification]
|
|
NSString InterruptionEndedNotification { get; }
|
|
|
|
[Mac (10, 14)]
|
|
[Field ("AVCaptureSessionWasInterruptedNotification")]
|
|
[Notification]
|
|
NSString WasInterruptedNotification { get; }
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Field ("AVCaptureSessionInterruptionReasonKey")]
|
|
NSString InterruptionReasonKey { get; }
|
|
|
|
[NoMac]
|
|
[iOS (7,0)]
|
|
[MacCatalyst (14,0)]
|
|
[Export ("usesApplicationAudioSession")]
|
|
bool UsesApplicationAudioSession { get; set; }
|
|
|
|
[NoMac]
|
|
[iOS (7,0)]
|
|
[Export ("automaticallyConfiguresApplicationAudioSession")]
|
|
bool AutomaticallyConfiguresApplicationAudioSession { get; set; }
|
|
|
|
[NoMac]
|
|
[iOS (10, 0)]
|
|
[Export ("automaticallyConfiguresCaptureDeviceForWideColor")]
|
|
bool AutomaticallyConfiguresCaptureDeviceForWideColor { get; set; }
|
|
|
|
[iOS (11, 1), NoMac]
|
|
[Field ("AVCaptureSessionInterruptionSystemPressureStateKey")]
|
|
NSString InterruptionSystemPressureStateKey { get; }
|
|
|
|
[NullAllowed]
|
|
[MacCatalyst (15,4), Mac (12,3), iOS (15,4)]
|
|
[Export ("synchronizationClock")]
|
|
CMClock SynchronizationClock { get; }
|
|
|
|
[Deprecated (PlatformName.MacOSX, 12, 3, message: "Use 'SynchronizationClock' instead.")]
|
|
[Deprecated (PlatformName.iOS, 15, 4, message: "Use 'SynchronizationClock' instead.")]
|
|
[Deprecated (PlatformName.MacCatalyst, 15, 4, message: "Use 'SynchronizationClock' instead.")]
|
|
[iOS (7,0)]
|
|
[Export ("masterClock"), NullAllowed]
|
|
CMClock MasterClock { get; }
|
|
|
|
//
|
|
// iOS 8
|
|
//
|
|
[iOS (8,0)]
|
|
[Export ("addInputWithNoConnections:")]
|
|
void AddInputWithNoConnections (AVCaptureInput input);
|
|
|
|
[iOS (8,0)]
|
|
[Export ("addOutputWithNoConnections:")]
|
|
void AddOutputWithNoConnections (AVCaptureOutput output);
|
|
|
|
[iOS (8,0)]
|
|
[Export ("canAddConnection:")]
|
|
bool CanAddConnection (AVCaptureConnection connection);
|
|
|
|
[iOS (8,0)]
|
|
[Export ("addConnection:")]
|
|
void AddConnection (AVCaptureConnection connection);
|
|
|
|
[iOS (8,0)]
|
|
[Export ("removeConnection:")]
|
|
void RemoveConnection (AVCaptureConnection connection);
|
|
|
|
[NoWatch, NoTV, Mac (10,15), iOS (13,0)]
|
|
[Export ("connections")]
|
|
AVCaptureConnection[] Connections { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVCaptureConnection {
|
|
|
|
[iOS (8,0)]
|
|
[Static]
|
|
[Export ("connectionWithInputPorts:output:")]
|
|
AVCaptureConnection FromInputPorts (AVCaptureInputPort [] ports, AVCaptureOutput output);
|
|
|
|
[iOS (8,0)]
|
|
[Static]
|
|
[Export ("connectionWithInputPort:videoPreviewLayer:")]
|
|
AVCaptureConnection FromInputPort (AVCaptureInputPort port, AVCaptureVideoPreviewLayer layer);
|
|
|
|
[iOS (8,0)]
|
|
[Export ("initWithInputPorts:output:")]
|
|
NativeHandle Constructor (AVCaptureInputPort [] inputPorts, AVCaptureOutput output);
|
|
|
|
[iOS (8,0)]
|
|
[Export ("initWithInputPort:videoPreviewLayer:")]
|
|
NativeHandle Constructor (AVCaptureInputPort inputPort, AVCaptureVideoPreviewLayer layer);
|
|
|
|
[NullAllowed]
|
|
[Export ("output")]
|
|
AVCaptureOutput Output { get; }
|
|
|
|
[Export ("enabled")]
|
|
bool Enabled { [Bind ("isEnabled")] get; set; }
|
|
|
|
[Export ("audioChannels")]
|
|
AVCaptureAudioChannel [] AvailableAudioChannels { get; }
|
|
|
|
[Export ("videoMirrored")]
|
|
bool VideoMirrored { [Bind ("isVideoMirrored")] get; set; }
|
|
|
|
[Export ("videoOrientation", ArgumentSemantic.Assign)]
|
|
AVCaptureVideoOrientation VideoOrientation { get; set; }
|
|
|
|
[Export ("inputPorts")]
|
|
AVCaptureInputPort [] InputPorts { get; }
|
|
|
|
[Export ("isActive")]
|
|
bool Active { get; }
|
|
|
|
[Export ("isVideoMirroringSupported")]
|
|
bool SupportsVideoMirroring { get; }
|
|
|
|
[Export ("isVideoOrientationSupported")]
|
|
bool SupportsVideoOrientation { get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 7, 0 /* Only deprecated on iOS */)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
[Export ("supportsVideoMinFrameDuration")]
|
|
bool SupportsVideoMinFrameDuration { [Bind ("isVideoMinFrameDurationSupported")] get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 7, 0 /* Only deprecated on iOS */)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
[Export ("videoMinFrameDuration")]
|
|
CMTime VideoMinFrameDuration { get; set; }
|
|
|
|
[Deprecated (PlatformName.iOS, 7, 0 /* Only deprecated on iOS */)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
[Export ("supportsVideoMaxFrameDuration")]
|
|
bool SupportsVideoMaxFrameDuration { [Bind ("isVideoMaxFrameDurationSupported")] get; }
|
|
|
|
[Export ("videoMaxFrameDuration")]
|
|
[Deprecated (PlatformName.iOS, 7, 0 /* Only deprecated on iOS */)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
CMTime VideoMaxFrameDuration { get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("videoMaxScaleAndCropFactor")]
|
|
nfloat VideoMaxScaleAndCropFactor { get; }
|
|
|
|
[NoMac]
|
|
[Export ("videoScaleAndCropFactor")]
|
|
nfloat VideoScaleAndCropFactor { get; set; }
|
|
|
|
[NullAllowed]
|
|
[Export ("videoPreviewLayer")]
|
|
AVCaptureVideoPreviewLayer VideoPreviewLayer { get; }
|
|
|
|
[Export ("automaticallyAdjustsVideoMirroring")]
|
|
bool AutomaticallyAdjustsVideoMirroring { get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("supportsVideoStabilization")]
|
|
bool SupportsVideoStabilization { [Bind ("isVideoStabilizationSupported")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("videoStabilizationEnabled")]
|
|
[Deprecated (PlatformName.iOS, 8, 0, message: "Use 'ActiveVideoStabilizationMode' instead.")]
|
|
bool VideoStabilizationEnabled { [Bind ("isVideoStabilizationEnabled")] get; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 8, 0, message: "Use 'PreferredVideoStabilizationMode' instead.")]
|
|
[Export ("enablesVideoStabilizationWhenAvailable")]
|
|
bool EnablesVideoStabilizationWhenAvailable { get; set; }
|
|
|
|
[NoMac]
|
|
[iOS (8,0)]
|
|
[Export ("preferredVideoStabilizationMode")]
|
|
AVCaptureVideoStabilizationMode PreferredVideoStabilizationMode { get; set; }
|
|
|
|
[NoMac]
|
|
[iOS (8,0)]
|
|
[Export ("activeVideoStabilizationMode")]
|
|
AVCaptureVideoStabilizationMode ActiveVideoStabilizationMode { get; }
|
|
|
|
[Unavailable (PlatformName.MacCatalyst)]
|
|
[NoiOS]
|
|
[Export ("supportsVideoFieldMode")]
|
|
bool SupportsVideoFieldMode { [Bind ("isVideoFieldModeSupported")] get; }
|
|
|
|
[NoiOS]
|
|
[Unavailable (PlatformName.MacCatalyst)]
|
|
[Export ("videoFieldMode")]
|
|
AVVideoFieldMode VideoFieldMode { get; set; }
|
|
|
|
[iOS (11, 0), NoMac, NoWatch]
|
|
[Export ("cameraIntrinsicMatrixDeliverySupported")]
|
|
bool CameraIntrinsicMatrixDeliverySupported { [Bind ("isCameraIntrinsicMatrixDeliverySupported")] get; }
|
|
|
|
[iOS (11, 0), NoMac, NoWatch]
|
|
[Export ("cameraIntrinsicMatrixDeliveryEnabled")]
|
|
bool CameraIntrinsicMatrixDeliveryEnabled { [Bind ("isCameraIntrinsicMatrixDeliveryEnabled")] get; set; }
|
|
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVCaptureAudioChannel {
|
|
[Export ("peakHoldLevel")]
|
|
float PeakHoldLevel { get; } // defined as 'float'
|
|
|
|
[Export ("averagePowerLevel")]
|
|
float AveragePowerLevel { get; } // defined as 'float'
|
|
|
|
[NoiOS, MacCatalyst (15,0)]
|
|
[Export ("enabled")]
|
|
bool Enabled { [Bind ("isEnabled")] get; set; }
|
|
|
|
[NoiOS, MacCatalyst (15,0)]
|
|
[Export ("volume")]
|
|
float Volume { get; set; } /* float intended here */
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSGenericException Reason: Cannot instantiate AVCaptureInput because it is an abstract superclass.
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureInput {
|
|
[Export ("ports")]
|
|
AVCaptureInputPort [] Ports { get; }
|
|
|
|
[Field ("AVCaptureInputPortFormatDescriptionDidChangeNotification")]
|
|
[Notification]
|
|
NSString PortFormatDescriptionDidChangeNotification { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureInputPort {
|
|
[Export ("mediaType")]
|
|
string MediaType { get; }
|
|
|
|
[NullAllowed, Export ("formatDescription")]
|
|
CMFormatDescription FormatDescription { get; }
|
|
|
|
[Export ("enabled")]
|
|
bool Enabled { [Bind ("isEnabled")] get; set; }
|
|
|
|
[Export ("input")]
|
|
AVCaptureInput Input { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9), Export ("clock", ArgumentSemantic.Copy), NullAllowed]
|
|
CMClock Clock { get; }
|
|
|
|
[BindAs (typeof (AVCaptureDeviceType))]
|
|
[NoMac, iOS (13,0)]
|
|
[NullAllowed, Export ("sourceDeviceType")]
|
|
NSString SourceDeviceType { get; }
|
|
|
|
[NoMac, iOS (13,0)]
|
|
[Export ("sourceDevicePosition")]
|
|
AVCaptureDevicePosition SourceDevicePosition { get; }
|
|
}
|
|
|
|
interface IAVCaptureDepthDataOutputDelegate {}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, iOS (11,0), NoMac]
|
|
[Protocol, Model]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVCaptureDepthDataOutputDelegate
|
|
{
|
|
[Export ("depthDataOutput:didOutputDepthData:timestamp:connection:")]
|
|
void DidOutputDepthData (AVCaptureDepthDataOutput output, AVDepthData depthData, CMTime timestamp, AVCaptureConnection connection);
|
|
|
|
[Export ("depthDataOutput:didDropDepthData:timestamp:connection:reason:")]
|
|
void DidDropDepthData (AVCaptureDepthDataOutput output, AVDepthData depthData, CMTime timestamp, AVCaptureConnection connection, AVCaptureOutputDataDroppedReason reason);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, iOS (11,0), NoMac]
|
|
[BaseType (typeof(AVCaptureOutput))]
|
|
interface AVCaptureDepthDataOutput
|
|
{
|
|
[Export ("setDelegate:callbackQueue:")]
|
|
void SetDelegate ([NullAllowed] IAVCaptureDepthDataOutputDelegate del,[NullAllowed] DispatchQueue callbackQueue);
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
[NullAllowed]
|
|
IAVCaptureDepthDataOutputDelegate Delegate { get; }
|
|
|
|
[NullAllowed, Export ("delegate")]
|
|
NSObject WeakDelegate { get; }
|
|
|
|
[NullAllowed, Export ("delegateCallbackQueue")]
|
|
DispatchQueue DelegateCallbackQueue { get; }
|
|
|
|
[Export ("alwaysDiscardsLateDepthData")]
|
|
bool AlwaysDiscardsLateDepthData { get; set; }
|
|
|
|
[Export ("filteringEnabled")]
|
|
bool FilteringEnabled { [Bind ("isFilteringEnabled")] get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (AVCaptureInput))]
|
|
// crash application if 'init' is called
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureDeviceInput {
|
|
[Export ("device")]
|
|
AVCaptureDevice Device { get; }
|
|
|
|
[Static, Export ("deviceInputWithDevice:error:")]
|
|
[return: NullAllowed]
|
|
AVCaptureDeviceInput FromDevice (AVCaptureDevice device, out NSError error);
|
|
|
|
[Export ("initWithDevice:error:")]
|
|
NativeHandle Constructor (AVCaptureDevice device, out NSError error);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("unifiedAutoExposureDefaultsEnabled")]
|
|
bool UnifiedAutoExposureDefaultsEnabled { get; set; }
|
|
|
|
[NoMac, iOS (13,0)]
|
|
[Export ("portsWithMediaType:sourceDeviceType:sourceDevicePosition:")]
|
|
AVCaptureInputPort[] GetPorts ([BindAs (typeof (AVMediaTypes))] [NullAllowed] NSString mediaType, [BindAs (typeof (AVCaptureDeviceType))][NullAllowed] NSString sourceDeviceType, AVCaptureDevicePosition sourceDevicePosition);
|
|
|
|
[NoMac, iOS (13,0)]
|
|
[Export ("videoMinFrameDurationOverride", ArgumentSemantic.Assign)]
|
|
CMTime VideoMinFrameDurationOverride { get; set; }
|
|
}
|
|
|
|
[NoiOS, NoTV, NoWatch, NoMacCatalyst]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVCaptureDeviceInputSource {
|
|
[Export ("inputSourceID")]
|
|
string InputSourceID { get; }
|
|
|
|
[Export ("localizedName")]
|
|
string LocalizedName { get; }
|
|
}
|
|
|
|
[NoiOS, NoWatch, NoTV, NoMacCatalyst]
|
|
[BaseType (typeof (AVCaptureFileOutput))]
|
|
interface AVCaptureAudioFileOutput {
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem [] Metadata { get; set; }
|
|
|
|
[NullAllowed, Export ("audioSettings", ArgumentSemantic.Copy)]
|
|
NSDictionary WeakAudioSettings { get; set; }
|
|
|
|
[Wrap ("WeakAudioSettings")]
|
|
[NullAllowed]
|
|
AudioSettings AudioSettings { get; set; }
|
|
|
|
[Static, Export ("availableOutputFileTypes")]
|
|
NSString [] AvailableOutputFileTypes ();
|
|
|
|
[Export ("startRecordingToOutputFileURL:outputFileType:recordingDelegate:")]
|
|
void StartRecording (NSUrl outputFileUrl, string fileType, [Protocolize] AVCaptureFileOutputRecordingDelegate recordingDelegate);
|
|
}
|
|
|
|
[NoiOS, NoWatch, NoTV, NoMacCatalyst]
|
|
[BaseType (typeof (AVCaptureOutput))]
|
|
interface AVCaptureAudioPreviewOutput {
|
|
[Export ("outputDeviceUniqueID", ArgumentSemantic.Copy), NullAllowed]
|
|
NSString OutputDeviceUniqueID { get; set; }
|
|
|
|
[Export ("volume")]
|
|
float Volume { get; set; } /* float, not CGFloat */
|
|
}
|
|
|
|
[NoWatch, NoTV]
|
|
[Static]
|
|
interface AVAssetExportPresetApple {
|
|
|
|
[NoiOS]
|
|
[Field ("AVAssetExportPresetAppleM4VCellular")]
|
|
NSString M4VCellular { get; }
|
|
|
|
[NoiOS]
|
|
[Field ("AVAssetExportPresetAppleM4ViPod")]
|
|
NSString M4ViPod { get; }
|
|
|
|
[NoiOS]
|
|
[Field ("AVAssetExportPresetAppleM4V480pSD")]
|
|
NSString M4V480pSD { get; }
|
|
|
|
[NoiOS]
|
|
[Field ("AVAssetExportPresetAppleM4VAppleTV")]
|
|
NSString M4VAppleTV { get; }
|
|
|
|
[NoiOS]
|
|
[Field ("AVAssetExportPresetAppleM4VWiFi")]
|
|
NSString M4VWiFi { get; }
|
|
|
|
[NoiOS]
|
|
[Field ("AVAssetExportPresetAppleM4V720pHD")]
|
|
NSString M4V720pHD { get; }
|
|
|
|
[NoiOS]
|
|
[Field ("AVAssetExportPresetAppleM4V1080pHD")]
|
|
NSString M4V1080pHD { get; }
|
|
|
|
[iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVAssetExportPresetAppleProRes422LPCM")]
|
|
NSString ProRes422Lpcm { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
#if NET
|
|
// Making a class abstract has problems (see https://github.com/xamarin/xamarin-macios/issues/4969), so not doing this (yet).
|
|
// [Abstract] // as per docs
|
|
#endif
|
|
// Objective-C exception thrown. Name: NSGenericException Reason: Cannot instantiate AVCaptureOutput because it is an abstract superclass.
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureOutput {
|
|
[Export ("connections")]
|
|
AVCaptureConnection [] Connections { get; }
|
|
|
|
[Export ("connectionWithMediaType:")]
|
|
[return: NullAllowed]
|
|
AVCaptureConnection ConnectionFromMediaType (NSString avMediaType);
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Export ("metadataOutputRectOfInterestForRect:")]
|
|
CGRect GetMetadataOutputRectOfInterestForRect (CGRect rectInOutputCoordinates);
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Export ("rectForMetadataOutputRectOfInterest:")]
|
|
CGRect GetRectForMetadataOutputRectOfInterest (CGRect rectInMetadataOutputCoordinates);
|
|
|
|
[Mac (10,15)]
|
|
[Export ("transformedMetadataObjectForMetadataObject:connection:")]
|
|
[return: NullAllowed]
|
|
AVMetadataObject GetTransformedMetadataObject (AVMetadataObject metadataObject, AVCaptureConnection connection);
|
|
}
|
|
|
|
[NoiOS, NoTV, NoWatch, NoMacCatalyst]
|
|
[BaseType (typeof (AVCaptureInput))]
|
|
interface AVCaptureScreenInput {
|
|
[Export ("initWithDisplayID:")]
|
|
NativeHandle Constructor (uint /* CGDirectDisplayID = uint32_t */ displayID);
|
|
|
|
[Export ("minFrameDuration")]
|
|
CMTime MinFrameDuration { get; set; }
|
|
|
|
[Export ("cropRect")]
|
|
CGRect CropRect { get; set; }
|
|
|
|
[Export ("scaleFactor")]
|
|
nfloat ScaleFactor { get; set; }
|
|
|
|
[Export ("capturesMouseClicks")]
|
|
bool CapturesMouseClicks { get; set; }
|
|
|
|
[Export ("capturesCursor")]
|
|
bool CapturesCursor { get; set; }
|
|
|
|
[Deprecated (PlatformName.MacOSX, 10, 10, message: "Ignored since 10.10, if you want to get this behavior, use AVCaptureVideoDataOutput and compare the frame contents on your own code.")]
|
|
[Export ("removesDuplicateFrames")]
|
|
bool RemovesDuplicateFrames { get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (CALayer))]
|
|
interface AVCaptureVideoPreviewLayer {
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("session", ArgumentSemantic.Retain)]
|
|
AVCaptureSession Session { get; set; }
|
|
|
|
[iOS (8,0)]
|
|
[Export ("setSessionWithNoConnection:")]
|
|
void SetSessionWithNoConnection (AVCaptureSession session);
|
|
|
|
[Export ("videoGravity", ArgumentSemantic.Copy)][Protected]
|
|
NSString WeakVideoGravity { get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("orientation")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AVCaptureConnection.VideoOrientation' instead.")]
|
|
AVCaptureVideoOrientation Orientation { get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("automaticallyAdjustsMirroring")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AVCaptureConnection.AutomaticallyAdjustsVideoMirroring' instead.")]
|
|
bool AutomaticallyAdjustsMirroring { get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("mirrored")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AVCaptureConnection.VideoMirrored' instead.")]
|
|
bool Mirrored { [Bind ("isMirrored")] get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("isMirroringSupported")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AVCaptureConnection.IsVideoMirroringSupported' instead.")]
|
|
bool MirroringSupported { get; }
|
|
|
|
[NoMac]
|
|
[Export ("isOrientationSupported")]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AVCaptureConnection.IsVideoOrientationSupported' instead.")]
|
|
bool OrientationSupported { get; }
|
|
|
|
[Static, Export ("layerWithSession:")]
|
|
AVCaptureVideoPreviewLayer FromSession (AVCaptureSession session);
|
|
|
|
[Export ("initWithSession:")]
|
|
[Internal]
|
|
IntPtr InitWithConnection (AVCaptureSession session);
|
|
|
|
[iOS (8,0)]
|
|
[Internal]
|
|
[Export ("initWithSessionWithNoConnection:")]
|
|
IntPtr InitWithNoConnection (AVCaptureSession session);
|
|
|
|
[NullAllowed, Export ("connection")]
|
|
AVCaptureConnection Connection { get; }
|
|
|
|
[Mac (10,15)]
|
|
[Export ("captureDevicePointOfInterestForPoint:")]
|
|
CGPoint CaptureDevicePointOfInterestForPoint (CGPoint pointInLayer);
|
|
|
|
[Mac (10,15)]
|
|
[Export ("pointForCaptureDevicePointOfInterest:")]
|
|
CGPoint PointForCaptureDevicePointOfInterest (CGPoint captureDevicePointOfInterest);
|
|
|
|
[Mac (10,15)]
|
|
[Export ("transformedMetadataObjectForMetadataObject:")]
|
|
[return: NullAllowed]
|
|
AVMetadataObject GetTransformedMetadataObject (AVMetadataObject metadataObject);
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Export ("metadataOutputRectOfInterestForRect:")]
|
|
CGRect MapToMetadataOutputCoordinates (CGRect rectInLayerCoordinates);
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Export ("rectForMetadataOutputRectOfInterest:")]
|
|
CGRect MapToLayerCoordinates (CGRect rectInMetadataOutputCoordinates);
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[Static]
|
|
[Export ("layerWithSessionWithNoConnection:")]
|
|
AVCaptureVideoPreviewLayer CreateWithNoConnection (AVCaptureSession session);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("previewing")]
|
|
bool Previewing { [Bind ("isPreviewing")] get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoTV]
|
|
[NoWatch]
|
|
[BaseType (typeof (AVCaptureOutput))]
|
|
interface AVCaptureVideoDataOutput {
|
|
[NullAllowed, Export ("sampleBufferDelegate")]
|
|
[Protocolize]
|
|
AVCaptureVideoDataOutputSampleBufferDelegate SampleBufferDelegate { get; }
|
|
|
|
[NullAllowed, Export ("sampleBufferCallbackQueue")]
|
|
DispatchQueue SampleBufferCallbackQueue { get; }
|
|
|
|
[Export ("videoSettings", ArgumentSemantic.Copy), NullAllowed]
|
|
NSDictionary WeakVideoSettings { get; set; }
|
|
|
|
[Wrap ("WeakVideoSettings")]
|
|
AVVideoSettingsUncompressed UncompressedVideoSetting { get; set; }
|
|
|
|
[Wrap ("WeakVideoSettings")]
|
|
AVVideoSettingsCompressed CompressedVideoSetting { get; set; }
|
|
|
|
[Export ("minFrameDuration")]
|
|
[Deprecated (PlatformName.iOS, 5, 0, message: "Use 'AVCaptureConnection.MinVideoFrameDuration' instead.")]
|
|
CMTime MinFrameDuration { get; set; }
|
|
|
|
[Export ("alwaysDiscardsLateVideoFrames")]
|
|
bool AlwaysDiscardsLateVideoFrames { get; set; }
|
|
|
|
#if !NET
|
|
[Obsolete ("Use overload accepting a 'IAVCaptureVideoDataOutputSampleBufferDelegate'.")]
|
|
[Export ("setSampleBufferDelegate:queue:")]
|
|
[PostGet ("SampleBufferDelegate")]
|
|
[PostGet ("SampleBufferCallbackQueue")]
|
|
void SetSampleBufferDelegate ([NullAllowed] AVCaptureVideoDataOutputSampleBufferDelegate sampleBufferDelegate, [NullAllowed] DispatchQueue sampleBufferCallbackQueue);
|
|
#endif
|
|
|
|
[Export ("setSampleBufferDelegate:queue:")]
|
|
#if NET
|
|
void SetSampleBufferDelegate ([NullAllowed] IAVCaptureVideoDataOutputSampleBufferDelegate sampleBufferDelegate, [NullAllowed] DispatchQueue sampleBufferCallbackQueue);
|
|
#else
|
|
[Sealed]
|
|
void SetSampleBufferDelegateQueue ([NullAllowed] IAVCaptureVideoDataOutputSampleBufferDelegate sampleBufferDelegate, [NullAllowed] DispatchQueue sampleBufferCallbackQueue);
|
|
#endif
|
|
|
|
// 5.0 APIs
|
|
#if NET
|
|
[BindAs (typeof (CoreVideo.CVPixelFormatType []))]
|
|
#endif
|
|
[Export ("availableVideoCVPixelFormatTypes")]
|
|
NSNumber [] AvailableVideoCVPixelFormatTypes { get; }
|
|
|
|
// This is an NSString, because these are are codec types that can be used as keys in
|
|
// the WeakVideoSettings properties.
|
|
[Export ("availableVideoCodecTypes")]
|
|
NSString [] AvailableVideoCodecTypes { get; }
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Export ("recommendedVideoSettingsForAssetWriterWithOutputFileType:")]
|
|
[return: NullAllowed]
|
|
NSDictionary GetRecommendedVideoSettingsForAssetWriter (string outputFileType);
|
|
|
|
[iOS (11,0), Mac (10,15)]
|
|
[Export ("availableVideoCodecTypesForAssetWriterWithOutputFileType:")]
|
|
string[] GetAvailableVideoCodecTypes (string outputFileType);
|
|
|
|
[Internal]
|
|
[iOS (11,0), Mac (10,15)]
|
|
[Export ("recommendedVideoSettingsForVideoCodecType:assetWriterOutputFileType:")]
|
|
[return: NullAllowed]
|
|
NSDictionary GetWeakRecommendedVideoSettings (string videoCodecType, string outputFileType);
|
|
|
|
[iOS (11,0), Mac (10,15)]
|
|
[Wrap ("new AVPlayerItemVideoOutputSettings (GetWeakRecommendedVideoSettings (videoCodecType, outputFileType)!)")]
|
|
[return: NullAllowed]
|
|
AVPlayerItemVideoOutputSettings GetRecommendedVideoSettings (string videoCodecType, string outputFileType);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("automaticallyConfiguresOutputBufferDimensions")]
|
|
bool AutomaticallyConfiguresOutputBufferDimensions { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("deliversPreviewSizedOutputBuffers")]
|
|
bool DeliversPreviewSizedOutputBuffers { get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVCaptureVideoDataOutputSampleBufferDelegate {
|
|
[Export ("captureOutput:didOutputSampleBuffer:fromConnection:")]
|
|
// CMSampleBufferRef
|
|
void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CMSampleBuffer sampleBuffer, AVCaptureConnection connection);
|
|
|
|
[Export ("captureOutput:didDropSampleBuffer:fromConnection:")]
|
|
void DidDropSampleBuffer (AVCaptureOutput captureOutput, CMSampleBuffer sampleBuffer, AVCaptureConnection connection);
|
|
}
|
|
|
|
interface IAVCaptureVideoDataOutputSampleBufferDelegate {}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (AVCaptureOutput))]
|
|
interface AVCaptureAudioDataOutput {
|
|
[NullAllowed, Export ("sampleBufferDelegate")]
|
|
[Protocolize]
|
|
AVCaptureAudioDataOutputSampleBufferDelegate SampleBufferDelegate { get; }
|
|
|
|
[NullAllowed, Export ("sampleBufferCallbackQueue")]
|
|
DispatchQueue SampleBufferCallbackQueue { get; }
|
|
|
|
[Export ("setSampleBufferDelegate:queue:")]
|
|
#if NET
|
|
void SetSampleBufferDelegate ([NullAllowed] IAVCaptureAudioDataOutputSampleBufferDelegate sampleBufferDelegate, [NullAllowed] DispatchQueue sampleBufferCallbackDispatchQueue);
|
|
#else
|
|
[Sealed]
|
|
void SetSampleBufferDelegateQueue ([NullAllowed] IAVCaptureAudioDataOutputSampleBufferDelegate sampleBufferDelegate, [NullAllowed] DispatchQueue sampleBufferCallbackDispatchQueue);
|
|
#endif
|
|
|
|
#if !NET
|
|
[Obsolete ("Use overload accepting a 'IAVCaptureVideoDataOutputSampleBufferDelegate'.")]
|
|
[Export ("setSampleBufferDelegate:queue:")]
|
|
void SetSampleBufferDelegateQueue ([NullAllowed] AVCaptureAudioDataOutputSampleBufferDelegate sampleBufferDelegate, [NullAllowed] DispatchQueue sampleBufferCallbackDispatchQueue);
|
|
#endif
|
|
|
|
[iOS (7,0), Mac (10,15)]
|
|
[Export ("recommendedAudioSettingsForAssetWriterWithOutputFileType:")]
|
|
[return: NullAllowed]
|
|
NSDictionary GetRecommendedAudioSettingsForAssetWriter (string outputFileType);
|
|
|
|
[NoiOS, MacCatalyst (15,0)]
|
|
[Export ("audioSettings", ArgumentSemantic.Copy)]
|
|
[NullAllowed]
|
|
NSDictionary WeakAudioSettings { get; set; }
|
|
|
|
[NoiOS]
|
|
[Wrap ("WeakAudioSettings")]
|
|
[NullAllowed]
|
|
AudioSettings AudioSettings { get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVCaptureAudioDataOutputSampleBufferDelegate {
|
|
[Export ("captureOutput:didOutputSampleBuffer:fromConnection:")]
|
|
void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CMSampleBuffer sampleBuffer, AVCaptureConnection connection);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoMac]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[iOS (8,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
[Abstract]
|
|
interface AVCaptureBracketedStillImageSettings {
|
|
// Abstract class in obJC
|
|
}
|
|
|
|
[NoMac]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[iOS (8,0)]
|
|
[BaseType (typeof (AVCaptureBracketedStillImageSettings))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureManualExposureBracketedStillImageSettings {
|
|
[Export ("exposureDuration")]
|
|
CMTime ExposureDuration { get; }
|
|
|
|
[Export ("ISO")]
|
|
float ISO { get; } /* float, not CGFloat */
|
|
|
|
[Static, Export ("manualExposureSettingsWithExposureDuration:ISO:")]
|
|
AVCaptureManualExposureBracketedStillImageSettings Create (CMTime duration, float /* float, not CGFloat */ ISO);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoMac]
|
|
[NoTV]
|
|
[iOS (8,0)]
|
|
[BaseType (typeof (AVCaptureBracketedStillImageSettings))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureAutoExposureBracketedStillImageSettings {
|
|
[Export ("exposureTargetBias")]
|
|
float ExposureTargetBias { get; } /* float, not CGFloat */
|
|
|
|
[Static, Export ("autoExposureSettingsWithExposureTargetBias:")]
|
|
AVCaptureAutoExposureBracketedStillImageSettings Create (float /* float, not CGFloat */ exposureTargetBias);
|
|
}
|
|
|
|
interface IAVCaptureAudioDataOutputSampleBufferDelegate {}
|
|
|
|
interface IAVCaptureFileOutputRecordingDelegate {}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[BaseType (typeof (AVCaptureOutput))]
|
|
// Objective-C exception thrown. Name: NSGenericException Reason: Cannot instantiate AVCaptureFileOutput because it is an abstract superclass.
|
|
[DisableDefaultCtor]
|
|
[NoTV]
|
|
interface AVCaptureFileOutput {
|
|
[Export ("recordedDuration")]
|
|
CMTime RecordedDuration { get; }
|
|
|
|
[Export ("recordedFileSize")]
|
|
long RecordedFileSize { get; }
|
|
|
|
[Export ("isRecording")]
|
|
bool Recording { get; }
|
|
|
|
[Export ("maxRecordedDuration")]
|
|
CMTime MaxRecordedDuration { get; set; }
|
|
|
|
[Export ("maxRecordedFileSize")]
|
|
long MaxRecordedFileSize { get; set; }
|
|
|
|
[Export ("minFreeDiskSpaceLimit")]
|
|
long MinFreeDiskSpaceLimit { get; set; }
|
|
|
|
[NullAllowed, Export ("outputFileURL")]
|
|
NSUrl OutputFileURL { get; } // FIXME: should have been Url.
|
|
|
|
[Export ("startRecordingToOutputFileURL:recordingDelegate:")]
|
|
void StartRecordingToOutputFile (NSUrl outputFileUrl, [Protocolize] AVCaptureFileOutputRecordingDelegate recordingDelegate);
|
|
|
|
[Export ("stopRecording")]
|
|
void StopRecording ();
|
|
|
|
[NoiOS, MacCatalyst (15,0)]
|
|
[Export ("pauseRecording")]
|
|
void PauseRecording ();
|
|
|
|
[NoiOS, MacCatalyst (15,0)]
|
|
[Export ("resumeRecording")]
|
|
void ResumeRecording ();
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[NoMacCatalyst]
|
|
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
|
|
IAVCaptureFileOutputDelegate Delegate { get; set; }
|
|
|
|
[NoiOS, MacCatalyst (15,0)]
|
|
[Export ("recordingPaused")]
|
|
bool RecordingPaused { [Bind ("isRecordingPaused")] get; }
|
|
}
|
|
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
[NoTV]
|
|
[NoWatch]
|
|
interface AVCaptureFileOutputRecordingDelegate {
|
|
[Export ("captureOutput:didStartRecordingToOutputFileAtURL:fromConnections:")]
|
|
void DidStartRecording (AVCaptureFileOutput captureOutput, NSUrl outputFileUrl, NSObject [] connections);
|
|
|
|
[Abstract]
|
|
[Export ("captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error:"), CheckDisposed]
|
|
void FinishedRecording (AVCaptureFileOutput captureOutput, NSUrl outputFileUrl, NSObject [] connections, [NullAllowed] NSError error);
|
|
|
|
[NoMacCatalyst, NoiOS]
|
|
[Export ("captureOutput:didPauseRecordingToOutputFileAtURL:fromConnections:")]
|
|
void DidPauseRecording (AVCaptureFileOutput captureOutput, NSUrl outputFileUrl, AVCaptureConnection [] connections);
|
|
|
|
[NoMacCatalyst, NoiOS]
|
|
[Export ("captureOutput:didResumeRecordingToOutputFileAtURL:fromConnections:")]
|
|
void DidResumeRecording (AVCaptureFileOutput captureOutput, NSUrl outputFileUrl, AVCaptureConnection [] connections);
|
|
|
|
[NoMacCatalyst, NoiOS]
|
|
[Export ("captureOutput:willFinishRecordingToOutputFileAtURL:fromConnections:error:")]
|
|
void WillFinishRecording (AVCaptureFileOutput captureOutput, NSUrl outputFileUrl, AVCaptureConnection [] connections, [NullAllowed] NSError error);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[NoMac]
|
|
[BaseType (typeof (AVCaptureOutput))]
|
|
interface AVCaptureMetadataOutput {
|
|
[NullAllowed, Export ("metadataObjectsDelegate")]
|
|
[Protocolize]
|
|
AVCaptureMetadataOutputObjectsDelegate Delegate { get; }
|
|
|
|
[NullAllowed, Export ("metadataObjectsCallbackQueue")]
|
|
DispatchQueue CallbackQueue { get; }
|
|
|
|
[Export ("availableMetadataObjectTypes")]
|
|
NSString [] WeakAvailableMetadataObjectTypes { get; }
|
|
|
|
[NullAllowed]
|
|
[Export ("metadataObjectTypes", ArgumentSemantic.Copy)]
|
|
NSString [] WeakMetadataObjectTypes { get; set; }
|
|
|
|
[Export ("setMetadataObjectsDelegate:queue:")]
|
|
void SetDelegate ([NullAllowed][Protocolize] AVCaptureMetadataOutputObjectsDelegate objectsDelegate, [NullAllowed] DispatchQueue objectsCallbackQueue);
|
|
|
|
[iOS (7,0)]
|
|
[Export ("rectOfInterest", ArgumentSemantic.Copy)]
|
|
CGRect RectOfInterest { get; set; }
|
|
|
|
}
|
|
|
|
[NoWatch]
|
|
[NoTV]
|
|
[NoMac]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVCaptureMetadataOutputObjectsDelegate {
|
|
[Export ("captureOutput:didOutputMetadataObjects:fromConnection:")]
|
|
void DidOutputMetadataObjects (AVCaptureMetadataOutput captureOutput, AVMetadataObject [] metadataObjects, AVCaptureConnection connection);
|
|
}
|
|
|
|
[NoTV, Mac (10,15), NoWatch, iOS (12,0)]
|
|
[Internal]
|
|
[Static]
|
|
interface AVCapturePhotoSettingsThumbnailFormatKeys {
|
|
[Field ("AVVideoCodecKey")]
|
|
NSString CodecKey { get; }
|
|
|
|
[Field ("AVVideoWidthKey")]
|
|
NSString WidthKey { get; }
|
|
|
|
[Field ("AVVideoHeightKey")]
|
|
NSString HeightKey { get; }
|
|
}
|
|
|
|
|
|
[NoTV, Mac (10,15), NoWatch, iOS (12,0)]
|
|
[StrongDictionary ("AVCapturePhotoSettingsThumbnailFormatKeys")]
|
|
interface AVCapturePhotoSettingsThumbnailFormat {
|
|
NSString Codec { get; set; }
|
|
NSNumber Width { get; set; }
|
|
NSNumber Height { get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV, Mac (10,15), iOS (10,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCapturePhotoSettings : NSCopying
|
|
{
|
|
[Static]
|
|
[Export ("photoSettings")]
|
|
AVCapturePhotoSettings Create ();
|
|
|
|
[Static]
|
|
[Export ("photoSettingsWithFormat:")]
|
|
AVCapturePhotoSettings FromFormat ([NullAllowed] NSDictionary<NSString, NSObject> format);
|
|
|
|
[Static]
|
|
[Export ("photoSettingsWithRawPixelFormatType:")]
|
|
AVCapturePhotoSettings FromRawPixelFormatType (uint rawPixelFormatType);
|
|
|
|
[Static]
|
|
[Export ("photoSettingsWithRawPixelFormatType:processedFormat:")]
|
|
AVCapturePhotoSettings FromRawPixelFormatType (uint rawPixelFormatType, [NullAllowed] NSDictionary<NSString, NSObject> processedFormat);
|
|
|
|
[Static]
|
|
[Export ("photoSettingsFromPhotoSettings:")]
|
|
AVCapturePhotoSettings FromPhotoSettings (AVCapturePhotoSettings photoSettings);
|
|
|
|
[iOS (11,0)]
|
|
[Static]
|
|
[Export ("photoSettingsWithRawPixelFormatType:rawFileType:processedFormat:processedFileType:")]
|
|
AVCapturePhotoSettings FromRawPixelFormatType (uint rawPixelFormatType, [NullAllowed] string rawFileType, [NullAllowed] NSDictionary<NSString, NSObject> processedFormat, [NullAllowed] string processedFileType);
|
|
|
|
[Export ("uniqueID")]
|
|
long UniqueID { get; }
|
|
|
|
[NullAllowed, Export ("format", ArgumentSemantic.Copy)]
|
|
NSDictionary<NSString, NSObject> Format { get; }
|
|
|
|
[Export ("rawPhotoPixelFormatType")]
|
|
uint RawPhotoPixelFormatType { get; }
|
|
|
|
[Export ("flashMode", ArgumentSemantic.Assign)]
|
|
AVCaptureFlashMode FlashMode { get; set; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'PhotoQualityPrioritization' instead.")]
|
|
[Export ("autoStillImageStabilizationEnabled")]
|
|
bool IsAutoStillImageStabilizationEnabled { [Bind ("isAutoStillImageStabilizationEnabled")] get; set; }
|
|
|
|
[Export ("highResolutionPhotoEnabled")]
|
|
bool IsHighResolutionPhotoEnabled { [Bind ("isHighResolutionPhotoEnabled")] get; set; }
|
|
|
|
[NullAllowed, Export ("livePhotoMovieFileURL", ArgumentSemantic.Copy)]
|
|
NSUrl LivePhotoMovieFileUrl { get; set; }
|
|
|
|
[NullAllowed, Export ("livePhotoMovieMetadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem[] LivePhotoMovieMetadata { get; set; }
|
|
|
|
[Export ("availablePreviewPhotoPixelFormatTypes")]
|
|
NSNumber[] AvailablePreviewPhotoPixelFormatTypes { get; }
|
|
|
|
[NullAllowed, Export ("previewPhotoFormat", ArgumentSemantic.Copy)]
|
|
NSDictionary<NSString, NSObject> PreviewPhotoFormat { get; set; }
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'AutoVirtualDeviceFusionEnabled' instead.")]
|
|
[iOS (10, 2)]
|
|
[Export ("autoDualCameraFusionEnabled")]
|
|
bool AutoDualCameraFusionEnabled { [Bind ("isAutoDualCameraFusionEnabled")] get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[NullAllowed, Export ("processedFileType")]
|
|
string ProcessedFileType { get; }
|
|
|
|
[iOS (11, 0)]
|
|
[NullAllowed, Export ("rawFileType")]
|
|
string RawFileType { get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'VirtualDeviceConstituentPhotoDeliveryEnabled' instead.")]
|
|
[iOS (11, 0)]
|
|
[Export ("dualCameraDualPhotoDeliveryEnabled")]
|
|
bool DualCameraDualPhotoDeliveryEnabled { [Bind ("isDualCameraDualPhotoDeliveryEnabled")] get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("depthDataDeliveryEnabled")]
|
|
bool DepthDataDeliveryEnabled { [Bind ("isDepthDataDeliveryEnabled")] get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("embedsDepthDataInPhoto")]
|
|
bool EmbedsDepthDataInPhoto { get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("depthDataFiltered")]
|
|
bool DepthDataFiltered { [Bind ("isDepthDataFiltered")] get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("cameraCalibrationDataDeliveryEnabled")]
|
|
bool CameraCalibrationDataDeliveryEnabled { [Bind ("isCameraCalibrationDataDeliveryEnabled")] get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
NSDictionary Metadata { get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("livePhotoVideoCodecType")]
|
|
string LivePhotoVideoCodecType { get; set; }
|
|
|
|
[Internal]
|
|
[iOS (11, 0)]
|
|
[Export ("availableEmbeddedThumbnailPhotoCodecTypes")]
|
|
NSString[] _GetAvailableEmbeddedThumbnailPhotoCodecTypes { get; }
|
|
|
|
#if !NET
|
|
[Obsolete ("Use 'AvailableEmbeddedThumbnailPhotoCodecTypes' instead.")]
|
|
[iOS (11, 0)]
|
|
[Wrap ("Array.ConvertAll (_GetAvailableEmbeddedThumbnailPhotoCodecTypes, s => AVVideoCodecTypeExtensions.GetValue (s))", IsVirtual = false)]
|
|
AVVideoCodecType[] GetAvailableEmbeddedThumbnailPhotoCodecTypes { get; }
|
|
#endif
|
|
[iOS (11, 0)]
|
|
[Wrap ("Array.ConvertAll (_GetAvailableEmbeddedThumbnailPhotoCodecTypes, s => AVVideoCodecTypeExtensions.GetValue (s))", IsVirtual = true)]
|
|
AVVideoCodecType[] AvailableEmbeddedThumbnailPhotoCodecTypes { get; }
|
|
|
|
#if NET
|
|
[iOS (11, 0)]
|
|
[NullAllowed, Export ("embeddedThumbnailPhotoFormat", ArgumentSemantic.Copy)]
|
|
NSDictionary WeakEmbeddedThumbnailPhotoFormat { get; set; }
|
|
|
|
[iOS (11, 0)]
|
|
[Wrap ("WeakEmbeddedThumbnailPhotoFormat")]
|
|
AVCapturePhotoSettingsThumbnailFormat EmbeddedThumbnailPhotoFormat { get; set; }
|
|
#else
|
|
[iOS (11, 0)]
|
|
[NullAllowed, Export ("embeddedThumbnailPhotoFormat", ArgumentSemantic.Copy)]
|
|
NSDictionary EmbeddedThumbnailPhotoFormat { get; set; }
|
|
#endif
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("portraitEffectsMatteDeliveryEnabled")]
|
|
bool PortraitEffectsMatteDeliveryEnabled { [Bind ("isPortraitEffectsMatteDeliveryEnabled")] get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("embedsPortraitEffectsMatteInPhoto")]
|
|
bool EmbedsPortraitEffectsMatteInPhoto { get; set; }
|
|
|
|
[BindAs (typeof (AVVideoCodecType []))]
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("availableRawEmbeddedThumbnailPhotoCodecTypes")]
|
|
NSString[] AvailableRawEmbeddedThumbnailPhotoCodecTypes { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[NullAllowed, Export ("rawEmbeddedThumbnailPhotoFormat", ArgumentSemantic.Copy)]
|
|
NSDictionary WeakRawEmbeddedThumbnailPhotoFormat { get; set; }
|
|
|
|
[NoMac]
|
|
[Wrap ("WeakRawEmbeddedThumbnailPhotoFormat")]
|
|
AVCapturePhotoSettingsThumbnailFormat RawEmbeddedThumbnailPhotoFormat { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("autoRedEyeReductionEnabled")]
|
|
bool AutoRedEyeReductionEnabled { [Bind ("isAutoRedEyeReductionEnabled")] get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("photoQualityPrioritization", ArgumentSemantic.Assign)]
|
|
AVCapturePhotoQualityPrioritization PhotoQualityPrioritization { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("embedsSemanticSegmentationMattesInPhoto")]
|
|
bool EmbedsSemanticSegmentationMattesInPhoto { get; set; }
|
|
|
|
[BindAs (typeof (AVSemanticSegmentationMatteType[]))]
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("enabledSemanticSegmentationMatteTypes", ArgumentSemantic.Assign)]
|
|
NSString[] EnabledSemanticSegmentationMatteTypes { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("virtualDeviceConstituentPhotoDeliveryEnabledDevices", ArgumentSemantic.Copy)]
|
|
AVCaptureDevice[] VirtualDeviceConstituentPhotoDeliveryEnabledDevices { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("autoVirtualDeviceFusionEnabled")]
|
|
bool AutoVirtualDeviceFusionEnabled { [Bind ("isAutoVirtualDeviceFusionEnabled")] get; set; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 1)]
|
|
[iOS (14,1)]
|
|
[NoMac]
|
|
[Export ("autoContentAwareDistortionCorrectionEnabled")]
|
|
bool AutoContentAwareDistortionCorrectionEnabled { [Bind ("isAutoContentAwareDistortionCorrectionEnabled")] get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV, NoMac, iOS (10,0)]
|
|
[BaseType (typeof(AVCapturePhotoSettings))]
|
|
[DisableDefaultCtor]
|
|
interface AVCapturePhotoBracketSettings
|
|
{
|
|
[iOS (11,0)]
|
|
[Static]
|
|
[Export ("photoBracketSettingsWithRawPixelFormatType:rawFileType:processedFormat:processedFileType:bracketedSettings:")]
|
|
AVCapturePhotoBracketSettings FromPhotoBracketSettings (uint rawPixelFormatType, [NullAllowed] string rawFileType, [NullAllowed] NSDictionary<NSString, NSObject> processedFormat, [NullAllowed] string processedFileType, AVCaptureBracketedStillImageSettings[] bracketedSettings);
|
|
|
|
[Static]
|
|
[Export ("photoBracketSettingsWithRawPixelFormatType:processedFormat:bracketedSettings:")]
|
|
AVCapturePhotoBracketSettings FromRawPixelFormatType (uint rawPixelFormatType, [NullAllowed] NSDictionary<NSString, NSObject> format, AVCaptureBracketedStillImageSettings [] bracketedSettings);
|
|
|
|
[Export ("bracketedSettings")]
|
|
AVCaptureBracketedStillImageSettings [] BracketedSettings { get; }
|
|
|
|
[Export ("lensStabilizationEnabled")]
|
|
bool IsLensStabilizationEnabled { [Bind ("isLensStabilizationEnabled")] get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV, Mac (10,15), iOS (10,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureResolvedPhotoSettings
|
|
{
|
|
[Export ("uniqueID")]
|
|
long UniqueID { get; }
|
|
|
|
[Export ("photoDimensions")]
|
|
CMVideoDimensions PhotoDimensions { get; }
|
|
|
|
[Export ("rawPhotoDimensions")]
|
|
CMVideoDimensions RawPhotoDimensions { get; }
|
|
|
|
[Export ("previewDimensions")]
|
|
CMVideoDimensions PreviewDimensions { get; }
|
|
|
|
[Export ("livePhotoMovieDimensions")]
|
|
CMVideoDimensions LivePhotoMovieDimensions { get; }
|
|
|
|
[Export ("flashEnabled")]
|
|
bool IsFlashEnabled { [Bind ("isFlashEnabled")] get; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'AVCaptureResolvedPhotoSettings.PhotoProcessingTimeRange' instead.")]
|
|
[Export ("stillImageStabilizationEnabled")]
|
|
bool IsStillImageStabilizationEnabled { [Bind ("isStillImageStabilizationEnabled")] get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'VirtualDeviceFusionEnabled' instead.")]
|
|
[iOS (10, 2)]
|
|
[Export ("dualCameraFusionEnabled")]
|
|
bool DualCameraFusionEnabled { [Bind ("isDualCameraFusionEnabled")] get; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("embeddedThumbnailDimensions")]
|
|
CMVideoDimensions EmbeddedThumbnailDimensions { get; }
|
|
|
|
[iOS (11, 0)]
|
|
[Export ("expectedPhotoCount")]
|
|
nuint ExpectedPhotoCount { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("portraitEffectsMatteDimensions")]
|
|
CMVideoDimensions PortraitEffectsMatteDimensions { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("rawEmbeddedThumbnailDimensions")]
|
|
CMVideoDimensions RawEmbeddedThumbnailDimensions { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("redEyeReductionEnabled")]
|
|
bool RedEyeReductionEnabled { [Bind ("isRedEyeReductionEnabled")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("dimensionsForSemanticSegmentationMatteOfType:")]
|
|
CMVideoDimensions GetDimensions ([BindAs (typeof (AVSemanticSegmentationMatteType))]NSString semanticSegmentationMatteType);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("photoProcessingTimeRange")]
|
|
CMTimeRange PhotoProcessingTimeRange { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("virtualDeviceFusionEnabled")]
|
|
bool VirtualDeviceFusionEnabled { [Bind ("isVirtualDeviceFusionEnabled")] get; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 1)]
|
|
[iOS (14,1)]
|
|
[NoMac]
|
|
[Export ("contentAwareDistortionCorrectionEnabled")]
|
|
bool ContentAwareDistortionCorrectionEnabled { [Bind ("isContentAwareDistortionCorrectionEnabled")] get; }
|
|
}
|
|
|
|
|
|
interface IAVCapturePhotoCaptureDelegate {}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV, Mac (10,15), iOS (10,0)]
|
|
[Protocol, Model]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVCapturePhotoCaptureDelegate
|
|
{
|
|
[Export ("captureOutput:willBeginCaptureForResolvedSettings:")]
|
|
void WillBeginCapture (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings);
|
|
|
|
[Export ("captureOutput:willCapturePhotoForResolvedSettings:")]
|
|
void WillCapturePhoto (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings);
|
|
|
|
[Export ("captureOutput:didCapturePhotoForResolvedSettings:")]
|
|
void DidCapturePhoto (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings);
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 11,0, message: "Use the 'DidFinishProcessingPhoto' overload accepting a 'AVCapturePhoto' instead.")]
|
|
[Export ("captureOutput:didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSettings:bracketSettings:error:")]
|
|
void DidFinishProcessingPhoto (AVCapturePhotoOutput captureOutput, [NullAllowed] CMSampleBuffer photoSampleBuffer, [NullAllowed] CMSampleBuffer previewPhotoSampleBuffer, AVCaptureResolvedPhotoSettings resolvedSettings, [NullAllowed] AVCaptureBracketedStillImageSettings bracketSettings, [NullAllowed] NSError error);
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 11,0, message: "Use the 'DidFinishProcessingPhoto' overload accepting a 'AVCapturePhoto' instead.")]
|
|
[Export ("captureOutput:didFinishProcessingRawPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSettings:bracketSettings:error:")]
|
|
void DidFinishProcessingRawPhoto (AVCapturePhotoOutput captureOutput, [NullAllowed] CMSampleBuffer rawSampleBuffer, [NullAllowed] CMSampleBuffer previewPhotoSampleBuffer, AVCaptureResolvedPhotoSettings resolvedSettings, [NullAllowed] AVCaptureBracketedStillImageSettings bracketSettings, [NullAllowed] NSError error);
|
|
|
|
[iOS (11,0)]
|
|
[Export ("captureOutput:didFinishProcessingPhoto:error:")]
|
|
void DidFinishProcessingPhoto (AVCapturePhotoOutput output, AVCapturePhoto photo, [NullAllowed] NSError error);
|
|
|
|
[NoMac]
|
|
[Export ("captureOutput:didFinishRecordingLivePhotoMovieForEventualFileAtURL:resolvedSettings:")]
|
|
void DidFinishRecordingLivePhotoMovie (AVCapturePhotoOutput captureOutput, NSUrl outputFileUrl, AVCaptureResolvedPhotoSettings resolvedSettings);
|
|
|
|
[NoMac]
|
|
[Export ("captureOutput:didFinishProcessingLivePhotoToMovieFileAtURL:duration:photoDisplayTime:resolvedSettings:error:")]
|
|
void DidFinishProcessingLivePhotoMovie (AVCapturePhotoOutput captureOutput, NSUrl outputFileUrl, CMTime duration, CMTime photoDisplayTime, AVCaptureResolvedPhotoSettings resolvedSettings, [NullAllowed] NSError error);
|
|
|
|
[Export ("captureOutput:didFinishCaptureForResolvedSettings:error:")]
|
|
void DidFinishCapture (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings, [NullAllowed] NSError error);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV, Mac (10,15), iOS (10,0)]
|
|
[BaseType (typeof(AVCaptureOutput))]
|
|
interface AVCapturePhotoOutput
|
|
{
|
|
[Export ("capturePhotoWithSettings:delegate:")]
|
|
void CapturePhoto (AVCapturePhotoSettings settings, IAVCapturePhotoCaptureDelegate cb);
|
|
|
|
[Export ("availablePhotoPixelFormatTypes")]
|
|
NSNumber [] AvailablePhotoPixelFormatTypes { get; }
|
|
|
|
[Export ("availablePhotoCodecTypes")]
|
|
string [] AvailablePhotoCodecTypes { get; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 3)]
|
|
[NoWatch, NoTV, NoMac, iOS (14,3)]
|
|
[Export ("appleProRAWSupported")]
|
|
bool AppleProRawSupported { [Bind ("isAppleProRAWSupported")] get; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 3)]
|
|
[NoWatch, NoTV, NoMac, iOS (14,3)]
|
|
[Export ("appleProRAWEnabled")]
|
|
bool AppleProRawEnabled { [Bind ("isAppleProRAWEnabled")] get; set; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 3)]
|
|
[NoWatch, NoTV, NoMac, iOS (14,3)]
|
|
[Static]
|
|
[Export ("isBayerRAWPixelFormat:")]
|
|
bool IsBayerRawPixelFormat (CVPixelFormatType pixelFormat);
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 3)]
|
|
[NoWatch, NoTV, NoMac, iOS (14,3)]
|
|
[Static]
|
|
[Export ("isAppleProRAWPixelFormat:")]
|
|
bool IsAppleProRawPixelFormat (CVPixelFormatType pixelFormat);
|
|
|
|
[NoMac]
|
|
[Export ("availableRawPhotoPixelFormatTypes")]
|
|
NSNumber [] AvailableRawPhotoPixelFormatTypes { get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'MaxPhotoQualityPrioritization' instead.")]
|
|
[NoMac]
|
|
[Export ("stillImageStabilizationSupported")]
|
|
bool IsStillImageStabilizationSupported { [Bind ("isStillImageStabilizationSupported")] get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'MaxPhotoQualityPrioritization' instead.")]
|
|
[NoMac]
|
|
[Export ("isStillImageStabilizationScene")]
|
|
bool IsStillImageStabilizationScene { get; }
|
|
|
|
[NoMac]
|
|
#if NET
|
|
[BindAs (typeof (AVCaptureFlashMode []))]
|
|
#endif
|
|
[Export ("supportedFlashModes")]
|
|
NSNumber[] SupportedFlashModes { get; }
|
|
|
|
[NoMac]
|
|
[Export ("isFlashScene")]
|
|
bool IsFlashScene { get; }
|
|
|
|
[NoMac]
|
|
[NullAllowed,Export ("photoSettingsForSceneMonitoring", ArgumentSemantic.Copy)]
|
|
AVCapturePhotoSettings PhotoSettingsForSceneMonitoring { get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("highResolutionCaptureEnabled")]
|
|
bool IsHighResolutionCaptureEnabled { [Bind ("isHighResolutionCaptureEnabled")] get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("maxBracketedCapturePhotoCount")]
|
|
nuint MaxBracketedCapturePhotoCount { get; }
|
|
|
|
[NoMac]
|
|
[Export ("lensStabilizationDuringBracketedCaptureSupported")]
|
|
bool IsLensStabilizationDuringBracketedCaptureSupported { [Bind ("isLensStabilizationDuringBracketedCaptureSupported")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("livePhotoCaptureSupported")]
|
|
bool IsLivePhotoCaptureSupported { [Bind ("isLivePhotoCaptureSupported")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("livePhotoCaptureEnabled")]
|
|
bool IsLivePhotoCaptureEnabled { [Bind ("isLivePhotoCaptureEnabled")] get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("livePhotoCaptureSuspended")]
|
|
bool IsLivePhotoCaptureSuspended { [Bind ("isLivePhotoCaptureSuspended")] get; set; }
|
|
|
|
[NoMac]
|
|
[Export ("livePhotoAutoTrimmingEnabled")]
|
|
bool IsLivePhotoAutoTrimmingEnabled { [Bind ("isLivePhotoAutoTrimmingEnabled")] get; set; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'AVCapturePhoto.FileDataRepresentation' instead.")]
|
|
[Static]
|
|
[Export ("JPEGPhotoDataRepresentationForJPEGSampleBuffer:previewPhotoSampleBuffer:")]
|
|
[return: NullAllowed]
|
|
NSData GetJpegPhotoDataRepresentation (CMSampleBuffer JPEGSampleBuffer, [NullAllowed] CMSampleBuffer previewPhotoSampleBuffer);
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'AVCapturePhoto.FileDataRepresentation' instead.")]
|
|
[Static]
|
|
[Export ("DNGPhotoDataRepresentationForRawSampleBuffer:previewPhotoSampleBuffer:")]
|
|
[return: NullAllowed]
|
|
NSData GetDngPhotoDataRepresentation (CMSampleBuffer rawSampleBuffer, [NullAllowed] CMSampleBuffer previewPhotoSampleBuffer);
|
|
|
|
[NoMac]
|
|
[Export ("preparedPhotoSettingsArray")]
|
|
AVCapturePhotoSettings[] PreparedPhotoSettings { get; }
|
|
|
|
[NoMac]
|
|
[Export ("setPreparedPhotoSettingsArray:completionHandler:")]
|
|
[Async]
|
|
void SetPreparedPhotoSettings (AVCapturePhotoSettings[] preparedPhotoSettingsArray, [NullAllowed] Action<bool, NSError> completionHandler);
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'VirtualDeviceFusionSupported' instead.")]
|
|
[iOS (10, 2), NoMac]
|
|
[Export ("dualCameraFusionSupported")]
|
|
bool DualCameraFusionSupported { [Bind ("isDualCameraFusionSupported")] get; }
|
|
|
|
// From AVCapturePhotoOutput (AVCapturePhotoOutputDepthDataDeliverySupport) Category
|
|
|
|
[iOS (11,0), NoMac]
|
|
[Export ("depthDataDeliverySupported")]
|
|
bool DepthDataDeliverySupported { [Bind ("isDepthDataDeliverySupported")] get; }
|
|
|
|
[iOS (11,0), NoMac]
|
|
[Export ("depthDataDeliveryEnabled")]
|
|
bool DepthDataDeliveryEnabled { [Bind ("isDepthDataDeliveryEnabled")] get; set; }
|
|
|
|
[Internal]
|
|
[iOS (11, 0)]
|
|
[Export ("availablePhotoFileTypes")]
|
|
NSString[] _GetAvailablePhotoFileTypes { get; }
|
|
|
|
[iOS (11, 0)]
|
|
[Wrap ("Array.ConvertAll (_GetAvailablePhotoFileTypes, s => AVFileTypesExtensions.GetValue (s))")]
|
|
AVFileTypes[] GetAvailablePhotoFileTypes { get; }
|
|
|
|
[Internal]
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("availableRawPhotoFileTypes")]
|
|
NSString[] _GetAvailableRawPhotoFileTypes { get; }
|
|
|
|
[iOS (11, 0), NoMac]
|
|
[Wrap ("Array.ConvertAll (_GetAvailableRawPhotoFileTypes, s => AVFileTypesExtensions.GetValue (s))")]
|
|
AVFileTypes[] GetAvailableRawPhotoFileTypes { get; }
|
|
|
|
[iOS (11,0)]
|
|
[Export ("supportedPhotoPixelFormatTypesForFileType:")]
|
|
NSNumber[] GetSupportedPhotoPixelFormatTypesForFileType (string fileType);
|
|
|
|
[Internal]
|
|
[iOS (11,0), Mac (10,15)]
|
|
[Export ("supportedPhotoCodecTypesForFileType:")]
|
|
NSString[] _GetSupportedPhotoCodecTypesForFileType (string fileType);
|
|
|
|
[iOS (11,0), NoMac]
|
|
[Wrap ("Array.ConvertAll (_GetSupportedPhotoCodecTypesForFileType (fileType), s => AVVideoCodecTypeExtensions.GetValue (s))")]
|
|
AVVideoCodecType[] GetSupportedPhotoCodecTypesForFileType (string fileType);
|
|
|
|
[iOS (11,0), NoMac]
|
|
[Export ("supportedRawPhotoPixelFormatTypesForFileType:")]
|
|
NSNumber[] GetSupportedRawPhotoPixelFormatTypesForFileType (string fileType);
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'VirtualDeviceConstituentPhotoDeliverySupported' instead.")]
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("dualCameraDualPhotoDeliverySupported")]
|
|
bool DualCameraDualPhotoDeliverySupported { [Bind ("isDualCameraDualPhotoDeliverySupported")] get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'VirtualDeviceConstituentPhotoDeliveryEnabledDevices' instead.")]
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("dualCameraDualPhotoDeliveryEnabled")]
|
|
bool DualCameraDualPhotoDeliveryEnabled { [Bind ("isDualCameraDualPhotoDeliveryEnabled")] get; set; }
|
|
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("availableLivePhotoVideoCodecTypes")]
|
|
string[] AvailableLivePhotoVideoCodecTypes { [return: BindAs (typeof (AVVideoCodecType []))] get; }
|
|
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("cameraCalibrationDataDeliverySupported")]
|
|
bool CameraCalibrationDataDeliverySupported { [Bind ("isCameraCalibrationDataDeliverySupported")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("portraitEffectsMatteDeliverySupported")]
|
|
bool PortraitEffectsMatteDeliverySupported { [Bind ("isPortraitEffectsMatteDeliverySupported")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("portraitEffectsMatteDeliveryEnabled")]
|
|
bool PortraitEffectsMatteDeliveryEnabled { [Bind ("isPortraitEffectsMatteDeliveryEnabled")] get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("autoRedEyeReductionSupported")]
|
|
bool AutoRedEyeReductionSupported { [Bind ("isAutoRedEyeReductionSupported")] get; }
|
|
|
|
[BindAs (typeof (AVSemanticSegmentationMatteType []))]
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("availableSemanticSegmentationMatteTypes")]
|
|
NSString[] AvailableSemanticSegmentationMatteTypes { get; }
|
|
|
|
[BindAs (typeof (AVSemanticSegmentationMatteType []))]
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("enabledSemanticSegmentationMatteTypes", ArgumentSemantic.Assign)]
|
|
NSString[] EnabledSemanticSegmentationMatteTypes { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("maxPhotoQualityPrioritization", ArgumentSemantic.Assign)]
|
|
AVCapturePhotoQualityPrioritization MaxPhotoQualityPrioritization { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("virtualDeviceFusionSupported")]
|
|
bool VirtualDeviceFusionSupported { [Bind ("isVirtualDeviceFusionSupported")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("virtualDeviceConstituentPhotoDeliverySupported")]
|
|
bool VirtualDeviceConstituentPhotoDeliverySupported { [Bind ("isVirtualDeviceConstituentPhotoDeliverySupported")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("virtualDeviceConstituentPhotoDeliveryEnabled")]
|
|
bool VirtualDeviceConstituentPhotoDeliveryEnabled { [Bind ("isVirtualDeviceConstituentPhotoDeliveryEnabled")] get; set; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 1)]
|
|
[iOS (14,1)]
|
|
[NoMac]
|
|
[Export ("contentAwareDistortionCorrectionSupported")]
|
|
bool ContentAwareDistortionCorrectionSupported { [Bind ("isContentAwareDistortionCorrectionSupported")] get; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 1)]
|
|
[iOS (14,1)]
|
|
[NoMac]
|
|
[Export ("contentAwareDistortionCorrectionEnabled")]
|
|
bool ContentAwareDistortionCorrectionEnabled { [Bind ("isContentAwareDistortionCorrectionEnabled")] get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[BaseType (typeof (AVCaptureFileOutput))]
|
|
[NoTV]
|
|
[NoWatch]
|
|
interface AVCaptureMovieFileOutput {
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem [] Metadata { get; set; }
|
|
|
|
[Export ("movieFragmentInterval")]
|
|
CMTime MovieFragmentInterval { get; set; }
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Export ("recordsVideoOrientationAndMirroringChangesAsMetadataTrackForConnection:")]
|
|
bool RecordsVideoOrientationAndMirroringChangesAsMetadataTrack (AVCaptureConnection connection);
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Export ("setRecordsVideoOrientationAndMirroringChanges:asMetadataTrackForConnection:")]
|
|
void SetRecordsVideoOrientationAndMirroringChanges (bool doRecordChanges, AVCaptureConnection connection);
|
|
|
|
[NoMac]
|
|
[iOS (10, 0)]
|
|
[Export ("availableVideoCodecTypes")]
|
|
NSString [] AvailableVideoCodecTypes { get; }
|
|
|
|
[iOS (10,0)]
|
|
[Export ("outputSettingsForConnection:")]
|
|
NSDictionary GetOutputSettings (AVCaptureConnection connection);
|
|
|
|
[iOS (10,0)]
|
|
[Export ("setOutputSettings:forConnection:")]
|
|
void SetOutputSettings ([NullAllowed] NSDictionary outputSettings, AVCaptureConnection connection);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
|
[Export ("supportedOutputSettingsKeysForConnection:")]
|
|
string[] GetSupportedOutputSettingsKeys (AVCaptureConnection connection);
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("primaryConstituentDeviceSwitchingBehaviorForRecordingEnabled")]
|
|
bool PrimaryConstituentDeviceSwitchingBehaviorForRecordingEnabled { [Bind ("isPrimaryConstituentDeviceSwitchingBehaviorForRecordingEnabled")] get; set; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("setPrimaryConstituentDeviceSwitchingBehaviorForRecording:restrictedSwitchingBehaviorConditions:")]
|
|
void SetPrimaryConstituentDeviceSwitchingBehaviorForRecording (AVCapturePrimaryConstituentDeviceSwitchingBehavior switchingBehavior, AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions restrictedSwitchingBehaviorConditions);
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("primaryConstituentDeviceSwitchingBehaviorForRecording")]
|
|
AVCapturePrimaryConstituentDeviceSwitchingBehavior PrimaryConstituentDeviceSwitchingBehaviorForRecording { get; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("primaryConstituentDeviceRestrictedSwitchingBehaviorConditionsForRecording")]
|
|
AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions PrimaryConstituentDeviceRestrictedSwitchingBehaviorConditionsForRecording { get; }
|
|
}
|
|
|
|
[NoTV]
|
|
[NoWatch]
|
|
[MacCatalyst (13,1)]
|
|
[Deprecated (PlatformName.MacCatalyst, 13,1, message: "Use 'AVCapturePhotoOutput' instead.")]
|
|
[Deprecated (PlatformName.iOS, 10,0, message: "Use 'AVCapturePhotoOutput' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10,15, message: "Use 'AVCapturePhotoOutput' instead.")]
|
|
[BaseType (typeof (AVCaptureOutput))]
|
|
interface AVCaptureStillImageOutput {
|
|
[Export ("availableImageDataCVPixelFormatTypes")]
|
|
NSNumber [] AvailableImageDataCVPixelFormatTypes { get; }
|
|
|
|
[Export ("availableImageDataCodecTypes")]
|
|
string [] AvailableImageDataCodecTypes { get; }
|
|
|
|
[Export ("outputSettings", ArgumentSemantic.Copy)]
|
|
NSDictionary OutputSettings { get; set; }
|
|
|
|
[Wrap ("OutputSettings")]
|
|
AVVideoSettingsUncompressed UncompressedVideoSetting { get; set; }
|
|
|
|
[Wrap ("OutputSettings")]
|
|
AVVideoSettingsCompressed CompressedVideoSetting { get; set; }
|
|
|
|
[Export ("captureStillImageAsynchronouslyFromConnection:completionHandler:")]
|
|
[Async ("CaptureStillImageTaskAsync")]
|
|
void CaptureStillImageAsynchronously (AVCaptureConnection connection, AVCaptureCompletionHandler completionHandler);
|
|
|
|
[Static, Export ("jpegStillImageNSDataRepresentation:")]
|
|
[return: NullAllowed]
|
|
NSData JpegStillToNSData (CMSampleBuffer buffer);
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
// 5.0
|
|
[Export ("capturingStillImage")]
|
|
bool CapturingStillImage { [Bind ("isCapturingStillImage")] get; }
|
|
|
|
[NoMac]
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
[iOS (7,0)]
|
|
[Export ("automaticallyEnablesStillImageStabilizationWhenAvailable")]
|
|
bool AutomaticallyEnablesStillImageStabilizationWhenAvailable { get; set; }
|
|
|
|
[NoMac]
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
[iOS (7,0)]
|
|
[Export ("stillImageStabilizationActive")]
|
|
bool IsStillImageStabilizationActive { [Bind ("isStillImageStabilizationActive")] get; }
|
|
|
|
[NoMac]
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
[iOS (7,0)]
|
|
[Export ("stillImageStabilizationSupported")]
|
|
bool IsStillImageStabilizationSupported { [Bind ("isStillImageStabilizationSupported")] get; }
|
|
|
|
[NoMac]
|
|
[iOS (8,0)]
|
|
[Export ("captureStillImageBracketAsynchronouslyFromConnection:withSettingsArray:completionHandler:")]
|
|
void CaptureStillImageBracket (AVCaptureConnection connection, AVCaptureBracketedStillImageSettings [] settings, Action<CMSampleBuffer, AVCaptureBracketedStillImageSettings, NSError> imageHandler);
|
|
|
|
[NoMac]
|
|
[iOS (8,0)]
|
|
[Export ("maxBracketedCaptureStillImageCount")]
|
|
nuint MaxBracketedCaptureStillImageCount { get; }
|
|
|
|
[NoMac]
|
|
[iOS (8,0)]
|
|
[Export ("prepareToCaptureStillImageBracketFromConnection:withSettingsArray:completionHandler:")]
|
|
void PrepareToCaptureStillImageBracket (AVCaptureConnection connection, AVCaptureBracketedStillImageSettings [] settings, Action<bool,NSError> handler);
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Export ("lensStabilizationDuringBracketedCaptureSupported")]
|
|
bool LensStabilizationDuringBracketedCaptureSupported { [Bind ("isLensStabilizationDuringBracketedCaptureSupported")] get; }
|
|
|
|
[NoMac]
|
|
[iOS (9,0)]
|
|
[Export ("lensStabilizationDuringBracketedCaptureEnabled")]
|
|
bool LensStabilizationDuringBracketedCaptureEnabled { [Bind ("isLensStabilizationDuringBracketedCaptureEnabled")] get; set; }
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 14, 0)]
|
|
[iOS (8,0), Mac (10, 14)]
|
|
[Export ("highResolutionStillImageOutputEnabled")]
|
|
bool HighResolutionStillImageOutputEnabled { [Bind ("isHighResolutionStillImageOutputEnabled")] get; set; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoTV, iOS (10,0), Mac (10,15), NoWatch]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // init NS_UNAVAILABLE
|
|
interface AVCaptureDeviceDiscoverySession {
|
|
|
|
#if !NET
|
|
[Internal]
|
|
[Static]
|
|
[Export ("discoverySessionWithDeviceTypes:mediaType:position:")]
|
|
AVCaptureDeviceDiscoverySession _Create (NSArray deviceTypes, [NullAllowed] string mediaType, AVCaptureDevicePosition position);
|
|
#else
|
|
[Static]
|
|
[Export ("discoverySessionWithDeviceTypes:mediaType:position:")]
|
|
AVCaptureDeviceDiscoverySession Create ([BindAs (typeof (AVCaptureDeviceType[]))] NSString[] deviceTypes, [NullAllowed] [BindAs (typeof (AVMediaTypes))] NSString mediaType, AVCaptureDevicePosition position);
|
|
#endif
|
|
|
|
[Export ("devices")]
|
|
AVCaptureDevice [] Devices { get; }
|
|
|
|
[NoMac, iOS (13,0)]
|
|
[Export ("supportedMultiCamDeviceSets")]
|
|
NSSet<AVCaptureDevice>[] SupportedMultiCamDeviceSets { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoTV, iOS (10,0), Mac (10,15), NoWatch]
|
|
enum AVCaptureDeviceType {
|
|
|
|
[Field ("AVCaptureDeviceTypeBuiltInMicrophone")]
|
|
BuiltInMicrophone,
|
|
|
|
[Field ("AVCaptureDeviceTypeBuiltInWideAngleCamera")]
|
|
BuiltInWideAngleCamera,
|
|
|
|
[NoMac]
|
|
[Field ("AVCaptureDeviceTypeBuiltInTelephotoCamera")]
|
|
BuiltInTelephotoCamera,
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 10, 2, message: "Use 'BuiltInDualCamera' instead.")]
|
|
[Field ("AVCaptureDeviceTypeBuiltInDuoCamera")]
|
|
BuiltInDuoCamera,
|
|
|
|
[iOS (10, 2), NoMac]
|
|
[Field ("AVCaptureDeviceTypeBuiltInDualCamera")]
|
|
BuiltInDualCamera,
|
|
|
|
[iOS (11, 1), NoMac]
|
|
[Field ("AVCaptureDeviceTypeBuiltInTrueDepthCamera")]
|
|
BuiltInTrueDepthCamera,
|
|
|
|
[NoMac, iOS (13, 0)]
|
|
[Field ("AVCaptureDeviceTypeBuiltInUltraWideCamera")]
|
|
BuiltInUltraWideCamera,
|
|
|
|
[NoMac, iOS (13, 0)]
|
|
[Field ("AVCaptureDeviceTypeBuiltInTripleCamera")]
|
|
BuiltInTripleCamera,
|
|
|
|
[NoMac, iOS (13, 0)]
|
|
[Field ("AVCaptureDeviceTypeBuiltInDualWideCamera")]
|
|
BuiltInDualWideCamera,
|
|
|
|
[NoWatch, NoTV, NoiOS, NoMacCatalyst]
|
|
[Field ("AVCaptureDeviceTypeExternalUnknown")]
|
|
ExternalUnknown,
|
|
|
|
[NoWatch, NoTV, NoMac, MacCatalyst (15,4), iOS (15,4)]
|
|
[Field ("AVCaptureDeviceTypeBuiltInLiDARDepthCamera")]
|
|
BuiltInLiDarDepthCamera,
|
|
}
|
|
|
|
[NoTV, iOS (7,0), Mac (10,14), NoWatch] // matches API that uses it.
|
|
enum AVAuthorizationMediaType {
|
|
Video,
|
|
Audio,
|
|
}
|
|
|
|
#if WATCH
|
|
[Static]
|
|
#endif
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoTV, Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: Cannot instantiate a AVCaptureDevice directly.
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureDevice {
|
|
[NoWatch]
|
|
[Export ("uniqueID")]
|
|
string UniqueID { get; }
|
|
|
|
[NoWatch]
|
|
[Export ("modelID")]
|
|
string ModelID { get; }
|
|
|
|
[NoWatch]
|
|
[Export ("localizedName")]
|
|
string LocalizedName { get; }
|
|
|
|
[NoWatch]
|
|
[Export ("connected")]
|
|
bool Connected { [Bind ("isConnected")] get; }
|
|
|
|
[NoWatch]
|
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'AVCaptureDeviceDiscoverySession' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 15, message: "Use 'AVCaptureDeviceDiscoverySession' instead.")]
|
|
[Static, Export ("devices")]
|
|
AVCaptureDevice [] Devices { get; }
|
|
|
|
[NoWatch]
|
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'AVCaptureDeviceDiscoverySession' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 15, message: "Use 'AVCaptureDeviceDiscoverySession' instead.")]
|
|
[Static]
|
|
[Export ("devicesWithMediaType:")]
|
|
AVCaptureDevice [] DevicesWithMediaType (string mediaType);
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
[Export ("defaultDeviceWithMediaType:")]
|
|
[return: NullAllowed]
|
|
AVCaptureDevice GetDefaultDevice (NSString mediaType);
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
[Wrap ("GetDefaultDevice (mediaType.GetConstant ()!)")]
|
|
[return: NullAllowed]
|
|
AVCaptureDevice GetDefaultDevice (AVMediaTypes mediaType);
|
|
|
|
#if !NET
|
|
[NoWatch]
|
|
[Obsolete ("Use 'GetDefaultDevice (AVMediaTypes)'.")]
|
|
[Static]
|
|
[Wrap ("GetDefaultDevice ((NSString) mediaType)")]
|
|
[return: NullAllowed]
|
|
AVCaptureDevice DefaultDeviceWithMediaType (string mediaType);
|
|
#endif
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
[Export ("deviceWithUniqueID:")]
|
|
[return: NullAllowed]
|
|
AVCaptureDevice DeviceWithUniqueID (string deviceUniqueID);
|
|
|
|
[NoWatch]
|
|
[Export ("hasMediaType:")]
|
|
bool HasMediaType (string mediaType);
|
|
|
|
[NoWatch]
|
|
[Wrap ("HasMediaType ((string) mediaType.GetConstant ())")]
|
|
bool HasMediaType (AVMediaTypes mediaType);
|
|
|
|
[NoWatch]
|
|
[Export ("lockForConfiguration:")]
|
|
bool LockForConfiguration (out NSError error);
|
|
|
|
[NoWatch]
|
|
[Export ("unlockForConfiguration")]
|
|
void UnlockForConfiguration ();
|
|
|
|
[NoWatch]
|
|
[Export ("supportsAVCaptureSessionPreset:")]
|
|
bool SupportsAVCaptureSessionPreset (string preset);
|
|
|
|
[NoWatch]
|
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'AVCapturePhotoSettings.FlashMode' instead.")]
|
|
[Export ("flashMode")]
|
|
AVCaptureFlashMode FlashMode { get; set; }
|
|
|
|
[NoWatch]
|
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'AVCapturePhotoOutput.SupportedFlashModes' instead.")]
|
|
[Export ("isFlashModeSupported:")]
|
|
bool IsFlashModeSupported (AVCaptureFlashMode flashMode);
|
|
|
|
[NoWatch]
|
|
[Export ("torchMode", ArgumentSemantic.Assign)]
|
|
AVCaptureTorchMode TorchMode { get; set; }
|
|
|
|
[NoWatch]
|
|
[Export ("isTorchModeSupported:")]
|
|
bool IsTorchModeSupported (AVCaptureTorchMode torchMode);
|
|
|
|
[NoWatch]
|
|
[Export ("isFocusModeSupported:")]
|
|
bool IsFocusModeSupported (AVCaptureFocusMode focusMode);
|
|
|
|
[NoWatch]
|
|
[Export ("focusMode", ArgumentSemantic.Assign)]
|
|
AVCaptureFocusMode FocusMode { get; set; }
|
|
|
|
[NoWatch]
|
|
[Export ("focusPointOfInterestSupported")]
|
|
bool FocusPointOfInterestSupported { [Bind ("isFocusPointOfInterestSupported")] get; }
|
|
|
|
[NoWatch]
|
|
[Export ("focusPointOfInterest", ArgumentSemantic.Assign)]
|
|
CGPoint FocusPointOfInterest { get; set; }
|
|
|
|
[NoWatch]
|
|
[Export ("adjustingFocus")]
|
|
bool AdjustingFocus { [Bind ("isAdjustingFocus")] get; }
|
|
|
|
[NoWatch]
|
|
[Export ("exposureMode", ArgumentSemantic.Assign)]
|
|
AVCaptureExposureMode ExposureMode { get; set; }
|
|
|
|
[NoWatch]
|
|
[Export ("isExposureModeSupported:")]
|
|
bool IsExposureModeSupported (AVCaptureExposureMode exposureMode);
|
|
|
|
[NoWatch]
|
|
[Export ("exposurePointOfInterestSupported")]
|
|
bool ExposurePointOfInterestSupported { [Bind ("isExposurePointOfInterestSupported")] get; }
|
|
|
|
[NoWatch]
|
|
[Export ("exposurePointOfInterest")]
|
|
CGPoint ExposurePointOfInterest { get; set; }
|
|
|
|
[NoWatch]
|
|
[NoTV, NoMac, MacCatalyst (15,4), iOS (15,4)]
|
|
[Export ("automaticallyAdjustsFaceDrivenAutoExposureEnabled")]
|
|
bool AutomaticallyAdjustsFaceDrivenAutoExposureEnabled { get; set; }
|
|
|
|
[NoWatch]
|
|
[NoTV, NoMac, MacCatalyst (15,4), iOS (15,4)]
|
|
[Export ("faceDrivenAutoExposureEnabled")]
|
|
bool FaceDrivenAutoExposureEnabled { [Bind ("isFaceDrivenAutoExposureEnabled")] get; set; }
|
|
|
|
[NoWatch]
|
|
[Export ("adjustingExposure")]
|
|
bool AdjustingExposure { [Bind ("isAdjustingExposure")] get; }
|
|
|
|
[NoWatch]
|
|
[Export ("isWhiteBalanceModeSupported:")]
|
|
bool IsWhiteBalanceModeSupported (AVCaptureWhiteBalanceMode whiteBalanceMode);
|
|
|
|
[NoWatch]
|
|
[Export ("whiteBalanceMode", ArgumentSemantic.Assign)]
|
|
AVCaptureWhiteBalanceMode WhiteBalanceMode { get; set; }
|
|
|
|
[NoWatch]
|
|
[Export ("adjustingWhiteBalance")]
|
|
bool AdjustingWhiteBalance { [Bind ("isAdjustingWhiteBalance")] get; }
|
|
|
|
[NoWatch]
|
|
[Export ("position")]
|
|
AVCaptureDevicePosition Position { get; }
|
|
|
|
[NoWatch]
|
|
[Field ("AVCaptureDeviceWasConnectedNotification")]
|
|
[Notification]
|
|
NSString WasConnectedNotification { get; }
|
|
|
|
[NoWatch]
|
|
[Field ("AVCaptureDeviceWasDisconnectedNotification")]
|
|
[Notification]
|
|
NSString WasDisconnectedNotification { get; }
|
|
|
|
[Mac (10,15), NoWatch]
|
|
[Field ("AVCaptureMaxAvailableTorchLevel")]
|
|
float MaxAvailableTorchLevel { get; } // defined as 'float'
|
|
|
|
[NoWatch, NoMac]
|
|
[Field ("AVCaptureDeviceSubjectAreaDidChangeNotification")]
|
|
[Notification]
|
|
NSString SubjectAreaDidChangeNotification { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("subjectAreaChangeMonitoringEnabled")]
|
|
bool SubjectAreaChangeMonitoringEnabled { [Bind ("isSubjectAreaChangeMonitoringEnabled")] get; set; }
|
|
|
|
[NoWatch, Mac (10,15)]
|
|
[Export ("isFlashAvailable")]
|
|
bool FlashAvailable { get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'AVCapturePhotoOutput.IsFlashScene' instead.")]
|
|
[Export ("isFlashActive")]
|
|
bool FlashActive { get; }
|
|
|
|
[NoWatch, Mac (10,15)]
|
|
[Export ("isTorchAvailable")]
|
|
bool TorchAvailable { get; }
|
|
|
|
[NoWatch, Mac (10,15)]
|
|
[Export ("torchLevel")]
|
|
float TorchLevel { get; } // defined as 'float'
|
|
|
|
// 6.0
|
|
[NoWatch, Mac (10,15)]
|
|
[Export ("torchActive")]
|
|
bool TorchActive { [Bind ("isTorchActive")] get; }
|
|
|
|
[NoWatch, Mac (10,15)]
|
|
[Export ("setTorchModeOnWithLevel:error:")]
|
|
bool SetTorchModeLevel (float /* defined as 'float' */ torchLevel, out NSError outError);
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("lowLightBoostSupported")]
|
|
bool LowLightBoostSupported { [Bind ("isLowLightBoostSupported")] get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("lowLightBoostEnabled")]
|
|
bool LowLightBoostEnabled { [Bind ("isLowLightBoostEnabled")] get; }
|
|
|
|
[NoWatch, NoMac]
|
|
[Export ("automaticallyEnablesLowLightBoostWhenAvailable")]
|
|
bool AutomaticallyEnablesLowLightBoostWhenAvailable { get; set; }
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("videoZoomFactor")]
|
|
nfloat VideoZoomFactor { get; set; }
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("rampToVideoZoomFactor:withRate:")]
|
|
void RampToVideoZoom (nfloat factor, float /* float, not CGFloat */ rate);
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("rampingVideoZoom")]
|
|
bool RampingVideoZoom { [Bind ("isRampingVideoZoom")] get; }
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("cancelVideoZoomRamp")]
|
|
void CancelVideoZoomRamp ();
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("autoFocusRangeRestrictionSupported")]
|
|
bool AutoFocusRangeRestrictionSupported { [Bind ("isAutoFocusRangeRestrictionSupported")] get; }
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("autoFocusRangeRestriction")]
|
|
AVCaptureAutoFocusRangeRestriction AutoFocusRangeRestriction { get; set; }
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("smoothAutoFocusSupported")]
|
|
bool SmoothAutoFocusSupported { [Bind ("isSmoothAutoFocusSupported")] get; }
|
|
|
|
[iOS (7,0), NoWatch, NoMac]
|
|
[Export ("smoothAutoFocusEnabled")]
|
|
bool SmoothAutoFocusEnabled { [Bind ("isSmoothAutoFocusEnabled")] get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, MacCatalyst (15,4), iOS (15,4)]
|
|
[Export ("automaticallyAdjustsFaceDrivenAutoFocusEnabled")]
|
|
bool AutomaticallyAdjustsFaceDrivenAutoFocusEnabled { get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, MacCatalyst (15,4), iOS (15,4)]
|
|
[Export ("faceDrivenAutoFocusEnabled")]
|
|
bool FaceDrivenAutoFocusEnabled { [Bind ("isFaceDrivenAutoFocusEnabled")] get; set; }
|
|
|
|
// Either AVMediaTypeVideo or AVMediaTypeAudio.
|
|
[iOS (7,0), NoWatch]
|
|
[Static]
|
|
[Wrap ("RequestAccessForMediaType (mediaType == AVAuthorizationMediaType.Video ? AVMediaTypes.Video.GetConstant ()! : AVMediaTypes.Audio.GetConstant ()!, completion)")]
|
|
[Async]
|
|
void RequestAccessForMediaType (AVAuthorizationMediaType mediaType, AVRequestAccessStatus completion);
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Mac (10,14)]
|
|
[Static, Export ("requestAccessForMediaType:completionHandler:")]
|
|
[Async]
|
|
void RequestAccessForMediaType (NSString avMediaTypeToken, AVRequestAccessStatus completion);
|
|
|
|
// Calling this method with any media type other than AVMediaTypeVideo or AVMediaTypeAudio raises an exception.
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Mac (10,14)]
|
|
[Static]
|
|
[Wrap ("GetAuthorizationStatus (mediaType == AVAuthorizationMediaType.Video ? AVMediaTypes.Video.GetConstant ()! : AVMediaTypes.Audio.GetConstant ()!)")]
|
|
AVAuthorizationStatus GetAuthorizationStatus (AVAuthorizationMediaType mediaType);
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Mac (10,14)]
|
|
[Static, Export ("authorizationStatusForMediaType:")]
|
|
AVAuthorizationStatus GetAuthorizationStatus (NSString avMediaTypeToken);
|
|
|
|
[iOS (7,0), NoWatch]
|
|
[Export ("activeFormat", ArgumentSemantic.Retain)]
|
|
AVCaptureDeviceFormat ActiveFormat { get; set; }
|
|
|
|
[iOS (7,0), NoWatch]
|
|
[Export ("formats")]
|
|
AVCaptureDeviceFormat [] Formats { get; }
|
|
|
|
[NoWatch]
|
|
[Export ("hasFlash")]
|
|
bool HasFlash { get; }
|
|
|
|
[NoWatch]
|
|
[Export ("hasTorch")]
|
|
bool HasTorch { get; }
|
|
|
|
[NoiOS, NoWatch, MacCatalyst (15,0)]
|
|
[Export ("inUseByAnotherApplication")]
|
|
bool InUseByAnotherApplication { [Bind ("isInUseByAnotherApplication")] get; }
|
|
|
|
[iOS (14, 0), NoWatch]
|
|
[Export ("suspended")]
|
|
bool Suspended { [Bind ("isSuspended")] get; }
|
|
|
|
[NoiOS, NoWatch, MacCatalyst (15,0)]
|
|
[Export ("linkedDevices")]
|
|
AVCaptureDevice [] LinkedDevices { get; }
|
|
|
|
[Mac (10,9), iOS (14,0), NoWatch]
|
|
[Export ("manufacturer")]
|
|
string Manufacturer { get; }
|
|
|
|
[NoiOS, NoWatch, NoMacCatalyst]
|
|
[Export ("transportControlsSpeed")]
|
|
float TransportControlsSpeed { get; } // float intended
|
|
|
|
[NoiOS, NoWatch, NoMacCatalyst]
|
|
[Export ("transportControlsSupported")]
|
|
bool TransportControlsSupported { get; }
|
|
|
|
[NoWatch]
|
|
[NoiOS] // TODO: We can provide a better binding once IOKit is bound kIOAudioDeviceTransportType*
|
|
[MacCatalyst (15,0)]
|
|
[Export ("transportType")]
|
|
int WeakTransportType { get; } // int intended
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[NullAllowed, Export ("activeInputSource", ArgumentSemantic.Retain)]
|
|
AVCaptureDeviceInputSource ActiveInputSource { get; set; }
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[Export ("inputSources")]
|
|
AVCaptureDeviceInputSource [] InputSources { get; }
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[Export ("setTransportControlsPlaybackMode:speed:")]
|
|
void SetTransportControlsPlaybackMode (AVCaptureDeviceTransportControlsPlaybackMode mode, float speed); // Float intended
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[Export ("transportControlsPlaybackMode")]
|
|
AVCaptureDeviceTransportControlsPlaybackMode TransportControlsPlaybackMode { get; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Mac (10,9)]
|
|
[Export ("activeVideoMinFrameDuration", ArgumentSemantic.Copy)]
|
|
CMTime ActiveVideoMinFrameDuration { get; set; }
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)]
|
|
[Mac (10,9)]
|
|
[Export ("activeVideoMaxFrameDuration", ArgumentSemantic.Copy)]
|
|
CMTime ActiveVideoMaxFrameDuration { get; set; }
|
|
|
|
[iOS (10,0), NoMac, NoWatch]
|
|
[Export ("lockingFocusWithCustomLensPositionSupported")]
|
|
bool LockingFocusWithCustomLensPositionSupported { [Bind ("isLockingFocusWithCustomLensPositionSupported")] get; }
|
|
|
|
[iOS (10,0), NoMac, NoWatch]
|
|
[Export ("lockingWhiteBalanceWithCustomDeviceGainsSupported")]
|
|
bool LockingWhiteBalanceWithCustomDeviceGainsSupported { [Bind ("isLockingWhiteBalanceWithCustomDeviceGainsSupported")] get; }
|
|
|
|
// From AVCaptureDevice (AVCaptureDeviceType) Category
|
|
[Internal]
|
|
[iOS (10,0), Mac (10,15), NoWatch]
|
|
[Export ("deviceType")]
|
|
NSString _DeviceType { get; }
|
|
|
|
[iOS (10, 0), Mac (10,15), NoWatch]
|
|
[Wrap ("AVCaptureDeviceTypeExtensions.GetValue (_DeviceType)")]
|
|
AVCaptureDeviceType DeviceType { get; }
|
|
|
|
[Internal]
|
|
[iOS (10,0), Mac (10,15), NoWatch]
|
|
[Static]
|
|
[Export ("defaultDeviceWithDeviceType:mediaType:position:")]
|
|
AVCaptureDevice _DefaultDeviceWithDeviceType (NSString deviceType, string mediaType, AVCaptureDevicePosition position);
|
|
|
|
[iOS (10,0), Mac (10,15), NoWatch]
|
|
[Static]
|
|
[Wrap ("AVCaptureDevice._DefaultDeviceWithDeviceType (deviceType.GetConstant ()!, mediaType, position)")]
|
|
AVCaptureDevice GetDefaultDevice (AVCaptureDeviceType deviceType, string mediaType, AVCaptureDevicePosition position);
|
|
|
|
//
|
|
// iOS 8
|
|
//
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Field ("AVCaptureLensPositionCurrent")]
|
|
float FocusModeLensPositionCurrent { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("lensAperture")]
|
|
float LensAperture { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("exposureDuration")]
|
|
CMTime ExposureDuration { get; }
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("ISO")]
|
|
float ISO { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("exposureTargetOffset")]
|
|
float ExposureTargetOffset { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("exposureTargetBias")]
|
|
float ExposureTargetBias { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("minExposureTargetBias")]
|
|
float MinExposureTargetBias { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("maxExposureTargetBias")]
|
|
float MaxExposureTargetBias { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("setExposureModeCustomWithDuration:ISO:completionHandler:")]
|
|
[Async]
|
|
void LockExposure (CMTime duration, float /* float, not CGFloat */ ISO, [NullAllowed] Action<CMTime> completionHandler);
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("setExposureTargetBias:completionHandler:")]
|
|
[Async]
|
|
void SetExposureTargetBias (float /* float, not CGFloat */ bias, [NullAllowed] Action<CMTime> completionHandler);
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("lensPosition")]
|
|
float LensPosition { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("setFocusModeLockedWithLensPosition:completionHandler:")]
|
|
[Async]
|
|
void SetFocusModeLocked (float /* float, not CGFloat */ lensPosition, [NullAllowed] Action<CMTime> completionHandler);
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("deviceWhiteBalanceGains")]
|
|
AVCaptureWhiteBalanceGains DeviceWhiteBalanceGains { get; }
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("grayWorldDeviceWhiteBalanceGains")]
|
|
AVCaptureWhiteBalanceGains GrayWorldDeviceWhiteBalanceGains { get; }
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("maxWhiteBalanceGain")]
|
|
float MaxWhiteBalanceGain { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler:")]
|
|
[Async]
|
|
void SetWhiteBalanceModeLockedWithDeviceWhiteBalanceGains (AVCaptureWhiteBalanceGains whiteBalanceGains, [NullAllowed] Action<CMTime> completionHandler);
|
|
|
|
[iOS (8,0), NoMac, NoWatch]
|
|
[Export ("chromaticityValuesForDeviceWhiteBalanceGains:")]
|
|
AVCaptureWhiteBalanceChromaticityValues GetChromaticityValues (AVCaptureWhiteBalanceGains whiteBalanceGains);
|
|
|
|
[iOS (8,0), NoMac, NoWatch]
|
|
[Export ("deviceWhiteBalanceGainsForChromaticityValues:")]
|
|
AVCaptureWhiteBalanceGains GetDeviceWhiteBalanceGains (AVCaptureWhiteBalanceChromaticityValues chromaticityValues);
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("temperatureAndTintValuesForDeviceWhiteBalanceGains:")]
|
|
AVCaptureWhiteBalanceTemperatureAndTintValues GetTemperatureAndTintValues (AVCaptureWhiteBalanceGains whiteBalanceGains);
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("deviceWhiteBalanceGainsForTemperatureAndTintValues:")]
|
|
AVCaptureWhiteBalanceGains GetDeviceWhiteBalanceGains (AVCaptureWhiteBalanceTemperatureAndTintValues tempAndTintValues);
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Field ("AVCaptureExposureDurationCurrent")]
|
|
CMTime ExposureDurationCurrent { get; }
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Field ("AVCaptureExposureTargetBiasCurrent")]
|
|
float ExposureTargetBiasCurrent { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Field ("AVCaptureISOCurrent")]
|
|
float ISOCurrent { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Field ("AVCaptureLensPositionCurrent")]
|
|
float LensPositionCurrent { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Field ("AVCaptureWhiteBalanceGainsCurrent")]
|
|
AVCaptureWhiteBalanceGains WhiteBalanceGainsCurrent { get; }
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("automaticallyAdjustsVideoHDREnabled")]
|
|
bool AutomaticallyAdjustsVideoHdrEnabled { get; set; }
|
|
|
|
[iOS (8,0), NoWatch, NoMac]
|
|
[Export ("videoHDREnabled")]
|
|
bool VideoHdrEnabled { [Bind ("isVideoHDREnabled")] get; set; }
|
|
|
|
[iOS (10, 0), NoWatch, Mac (10,15)]
|
|
[Export ("activeColorSpace", ArgumentSemantic.Assign)]
|
|
AVCaptureColorSpace ActiveColorSpace { get; set; }
|
|
|
|
// From AVCaptureDevice (AVCaptureDeviceDepthSupport) Category
|
|
|
|
[iOS (11,0), NoWatch, NoMac]
|
|
[Export ("activeDepthDataFormat", ArgumentSemantic.Retain), NullAllowed]
|
|
AVCaptureDeviceFormat ActiveDepthDataFormat { get; set; }
|
|
|
|
[iOS (11,0), NoWatch, NoMac]
|
|
[Export ("minAvailableVideoZoomFactor")]
|
|
nfloat MinAvailableVideoZoomFactor { get; }
|
|
|
|
[iOS (11,0), NoWatch, NoMac]
|
|
[Export ("maxAvailableVideoZoomFactor")]
|
|
nfloat MaxAvailableVideoZoomFactor { get; }
|
|
|
|
// From AVCaptureDevice (AVCaptureDeviceSystemPressure) Category
|
|
[NoWatch, NoTV, NoMac, iOS (11, 1)]
|
|
[Export ("systemPressureState")]
|
|
AVCaptureSystemPressureState SystemPressureState { get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'VirtualDeviceSwitchOverVideoZoomFactors' instead.")]
|
|
[iOS (11, 0), NoWatch, NoMac]
|
|
[Export ("dualCameraSwitchOverVideoZoomFactor")]
|
|
nfloat DualCameraSwitchOverVideoZoomFactor { get; }
|
|
|
|
// From @interface AVCaptureDeviceDepthSupport (AVCaptureDevice)
|
|
|
|
[NoMac, iOS (12, 0), NoWatch]
|
|
[Export ("activeDepthDataMinFrameDuration", ArgumentSemantic.Assign)]
|
|
CMTime ActiveDepthDataMinFrameDuration { get; set; }
|
|
|
|
// From @interface AVCaptureDeviceExposure (AVCaptureDevice)
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("activeMaxExposureDuration", ArgumentSemantic.Assign)]
|
|
CMTime ActiveMaxExposureDuration { get; set; }
|
|
|
|
[Mac (10,15), iOS (10,0), NoTV, NoWatch]
|
|
[Static]
|
|
[Export ("defaultDeviceWithDeviceType:mediaType:position:")]
|
|
[return: NullAllowed]
|
|
AVCaptureDevice GetDefaultDevice ([BindAs (typeof (AVCaptureDeviceType))]NSString deviceType, [NullAllowed] [BindAs (typeof (AVMediaTypes))] NSString mediaType, AVCaptureDevicePosition position);
|
|
|
|
// From AVCaptureDevice_AVCaptureDeviceVirtual
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("virtualDevice")]
|
|
bool VirtualDevice { [Bind ("isVirtualDevice")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("constituentDevices")]
|
|
AVCaptureDevice[] ConstituentDevices { get; }
|
|
|
|
// from AVCaptureDevice_AVCaptureDeviceCalibration
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Static]
|
|
[Export ("extrinsicMatrixFromDevice:toDevice:")]
|
|
[return: NullAllowed]
|
|
NSData GetExtrinsicMatrix (AVCaptureDevice fromDevice, AVCaptureDevice toDevice);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("globalToneMappingEnabled")]
|
|
bool GlobalToneMappingEnabled { [Bind ("isGlobalToneMappingEnabled")] get; set; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("virtualDeviceSwitchOverVideoZoomFactors")]
|
|
NSNumber[] VirtualDeviceSwitchOverVideoZoomFactors { get; }
|
|
|
|
// From AVCaptureDevice_AVCaptureDeviceVirtual
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("setPrimaryConstituentDeviceSwitchingBehavior:restrictedSwitchingBehaviorConditions:")]
|
|
void SetPrimaryConstituentDeviceSwitchingBehavior (AVCapturePrimaryConstituentDeviceSwitchingBehavior switchingBehavior, AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions restrictedSwitchingBehaviorConditions);
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("primaryConstituentDeviceSwitchingBehavior")]
|
|
AVCapturePrimaryConstituentDeviceSwitchingBehavior PrimaryConstituentDeviceSwitchingBehavior { get; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("primaryConstituentDeviceRestrictedSwitchingBehaviorConditions")]
|
|
AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions PrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions { get; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("activePrimaryConstituentDeviceSwitchingBehavior")]
|
|
AVCapturePrimaryConstituentDeviceSwitchingBehavior ActivePrimaryConstituentDeviceSwitchingBehavior { get; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("activePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions")]
|
|
AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions ActivePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions { get; }
|
|
|
|
[NullAllowed]
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("activePrimaryConstituentDevice")]
|
|
AVCaptureDevice ActivePrimaryConstituentDevice { get; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("supportedFallbackPrimaryConstituentDevices")]
|
|
AVCaptureDevice[] SupportedFallbackPrimaryConstituentDevices { get; }
|
|
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("fallbackPrimaryConstituentDevices", ArgumentSemantic.Assign)]
|
|
AVCaptureDevice[] FallbackPrimaryConstituentDevices { get; set; }
|
|
|
|
// from AVCaptureDevice_AVCaptureDeviceGeometricDistortionCorrection
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("geometricDistortionCorrectionSupported")]
|
|
bool GeometricDistortionCorrectionSupported { [Bind ("isGeometricDistortionCorrectionSupported")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("geometricDistortionCorrectionEnabled")]
|
|
bool GeometricDistortionCorrectionEnabled { [Bind ("isGeometricDistortionCorrectionEnabled")] get; set; }
|
|
|
|
// from AVCaptureDevice_AVCaptureDeviceCenterStage
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Static]
|
|
[Export ("centerStageControlMode", ArgumentSemantic.Assign)]
|
|
AVCaptureCenterStageControlMode CenterStageControlMode { get; set; }
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Static]
|
|
[Export ("centerStageEnabled")]
|
|
bool CenterStageEnabled { [Bind ("isCenterStageEnabled")] get; set; }
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Export ("centerStageActive")]
|
|
bool CenterStageActive { [Bind ("isCenterStageActive")] get; }
|
|
|
|
// AVCaptureDevice_AVCaptureMicrophoneMode
|
|
[NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Static]
|
|
[Export ("preferredMicrophoneMode")]
|
|
AVCaptureMicrophoneMode PreferredMicrophoneMode { get; }
|
|
|
|
[NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Static]
|
|
[Export ("activeMicrophoneMode")]
|
|
AVCaptureMicrophoneMode ActiveMicrophoneMode { get; }
|
|
|
|
// AVCaptureDevice_AVCaptureDevicePortraitEffect
|
|
[NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Static]
|
|
[Export ("portraitEffectEnabled")]
|
|
bool PortraitEffectEnabled { [Bind ("isPortraitEffectEnabled")] get; }
|
|
|
|
[NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("portraitEffectActive")]
|
|
bool PortraitEffectActive { [Bind ("isPortraitEffectActive")] get; }
|
|
|
|
// AVCaptureDevice_AVCaptureSystemUserInterface
|
|
[NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Static]
|
|
[Export ("showSystemUserInterface:")]
|
|
void ShowSystemUserInterface (AVCaptureSystemUserInterface systemUserInterface);
|
|
|
|
[NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("minimumFocusDistance")]
|
|
nint MinimumFocusDistance { get; }
|
|
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoTV, iOS (11, 1), NoMac, NoWatch]
|
|
enum AVCaptureSystemPressureLevel {
|
|
[Field ("AVCaptureSystemPressureLevelNominal")]
|
|
Nominal,
|
|
|
|
[Field ("AVCaptureSystemPressureLevelFair")]
|
|
Fair,
|
|
|
|
[Field ("AVCaptureSystemPressureLevelSerious")]
|
|
Serious,
|
|
|
|
[Field ("AVCaptureSystemPressureLevelCritical")]
|
|
Critical,
|
|
|
|
[Field ("AVCaptureSystemPressureLevelShutdown")]
|
|
Shutdown,
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, NoMac, iOS (11,1)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptureSystemPressureState
|
|
{
|
|
[Internal]
|
|
[Export ("level")]
|
|
NSString _Level { get; }
|
|
|
|
[Wrap ("AVCaptureSystemPressureLevelExtensions.GetValue (_Level)")]
|
|
AVCaptureSystemPressureLevel Level { get; }
|
|
|
|
[Export ("factors")]
|
|
AVCaptureSystemPressureFactors Factors { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[iOS (7,0)]
|
|
[DisableDefaultCtor] // crash -> immutable, it can be set but it should be selected from tha available formats (not a custom one)
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVCaptureDeviceFormat {
|
|
[Export ("mediaType", ArgumentSemantic.Copy)]
|
|
NSString MediaType { get; }
|
|
|
|
[Export ("formatDescription", ArgumentSemantic.Copy)]
|
|
CMFormatDescription FormatDescription { get; }
|
|
|
|
[Export ("videoSupportedFrameRateRanges", ArgumentSemantic.Copy)]
|
|
AVFrameRateRange [] VideoSupportedFrameRateRanges { get; }
|
|
|
|
[iOS (10,0), Mac (10,15)]
|
|
[Export ("supportedColorSpaces")]
|
|
#if NET
|
|
[BindAs (typeof (AVCaptureColorSpace []))]
|
|
#endif
|
|
NSNumber[] SupportedColorSpaces { get; }
|
|
|
|
[iOS (8,0), Mac (10,15)]
|
|
[Export ("autoFocusSystem")]
|
|
AVCaptureAutoFocusSystem AutoFocusSystem { get; }
|
|
|
|
[NoMac]
|
|
[Export ("videoFieldOfView")]
|
|
float VideoFieldOfView { get; } // defined as 'float'
|
|
|
|
[NoMac]
|
|
[Export ("videoBinned")]
|
|
bool VideoBinned { [Bind ("isVideoBinned")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("videoStabilizationSupported")]
|
|
[Deprecated (PlatformName.iOS, 8, 0, message: "Use 'IsVideoStabilizationModeSupported (AVCaptureVideoStabilizationMode)' instead.")]
|
|
bool VideoStabilizationSupported { [Bind ("isVideoStabilizationSupported")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("videoMaxZoomFactor")]
|
|
nfloat VideoMaxZoomFactor { get; }
|
|
|
|
[NoMac]
|
|
[Export ("videoZoomFactorUpscaleThreshold")]
|
|
nfloat VideoZoomFactorUpscaleThreshold { get; }
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("minExposureDuration")]
|
|
CMTime MinExposureDuration { get; }
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("maxExposureDuration")]
|
|
CMTime MaxExposureDuration { get; }
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("minISO")]
|
|
float MinISO { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("maxISO")]
|
|
float MaxISO { get; } /* float, not CGFloat */
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("isVideoStabilizationModeSupported:")]
|
|
bool IsVideoStabilizationModeSupported (AVCaptureVideoStabilizationMode mode);
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("videoHDRSupported")]
|
|
bool videoHDRSupportedVideoHDREnabled { [Bind ("isVideoHDRSupported")] get; }
|
|
|
|
[iOS (8,0), NoMac]
|
|
[Export ("highResolutionStillImageDimensions")]
|
|
CMVideoDimensions HighResolutionStillImageDimensions { get; }
|
|
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("videoMinZoomFactorForDepthDataDelivery")]
|
|
nfloat VideoMinZoomFactorForDepthDataDelivery { get; }
|
|
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("videoMaxZoomFactorForDepthDataDelivery")]
|
|
nfloat VideoMaxZoomFactorForDepthDataDelivery { get; }
|
|
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("supportedDepthDataFormats")]
|
|
AVCaptureDeviceFormat[] SupportedDepthDataFormats { get; }
|
|
|
|
[iOS (11, 0), NoMac]
|
|
[Export ("unsupportedCaptureOutputClasses")]
|
|
Class[] UnsupportedCaptureOutputClasses { get; }
|
|
|
|
// from @interface AVCaptureDeviceFormatDepthDataAdditions (AVCaptureDeviceFormat)
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[Export ("portraitEffectsMatteStillImageDeliverySupported")]
|
|
bool PortraitEffectsMatteStillImageDeliverySupported { [Bind ("isPortraitEffectsMatteStillImageDeliverySupported")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("highestPhotoQualitySupported")]
|
|
bool HighestPhotoQualitySupported { [Bind ("isHighestPhotoQualitySupported")] get; }
|
|
|
|
// from AVCaptureDeviceFormat_AVCaptureDeviceFormatMultiCamAdditions
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("multiCamSupported")]
|
|
bool MultiCamSupported { [Bind ("isMultiCamSupported")] get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[MacCatalyst (14,0)]
|
|
[Export ("globalToneMappingSupported")]
|
|
bool GlobalToneMappingSupported { [Bind ("isGlobalToneMappingSupported")] get; }
|
|
|
|
// from AVCaptureDeviceFormat_AVCaptureDeviceFormatGeometricDistortionCorrection
|
|
[NoWatch, NoTV, NoMac, iOS (13, 0)]
|
|
[Export ("geometricDistortionCorrectedVideoFieldOfView")]
|
|
float GeometricDistortionCorrectedVideoFieldOfView { get; }
|
|
|
|
// from AVCaptureDeviceFormat_AVCaptureDeviceFormatCenterStage
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Export ("centerStageSupported")]
|
|
bool CenterStageSupported { [Bind ("isCenterStageSupported")] get; }
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Export ("videoMinZoomFactorForCenterStage")]
|
|
nfloat VideoMinZoomFactorForCenterStage { get; }
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Export ("videoMaxZoomFactorForCenterStage")]
|
|
nfloat VideoMaxZoomFactorForCenterStage { get; }
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Export ("videoFrameRateRangeForCenterStage")]
|
|
[NullAllowed]
|
|
AVFrameRateRange VideoFrameRateRangeForCenterStage { get; }
|
|
|
|
[NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("highPhotoQualitySupported")]
|
|
bool HighPhotoQualitySupported { [Bind ("isHighPhotoQualitySupported")] get; }
|
|
|
|
// AVCaptureDeviceFormat_AVCaptureDeviceFormatPortraitEffect
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("portraitEffectSupported")]
|
|
bool PortraitEffectSupported { [Bind ("isPortraitEffectSupported")] get; }
|
|
|
|
[NullAllowed]
|
|
[NoWatch, NoTV, MacCatalyst (15,0), Mac (12,0), iOS (15,0)]
|
|
[Export ("videoFrameRateRangeForPortraitEffect")]
|
|
AVFrameRateRange VideoFrameRateRangeForPortraitEffect { get; }
|
|
}
|
|
|
|
delegate void AVCaptureCompletionHandler (CMSampleBuffer imageDataSampleBuffer, NSError error);
|
|
|
|
[NoWatch, TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
enum AVPlayerRateDidChangeReason {
|
|
|
|
[Field ("AVPlayerRateDidChangeReasonSetRateCalled")]
|
|
SetRateCalled,
|
|
|
|
[Field ("AVPlayerRateDidChangeReasonSetRateFailed")]
|
|
SetRateFailed,
|
|
|
|
[Field ("AVPlayerRateDidChangeReasonAudioSessionInterrupted")]
|
|
AudioSessionInterrupted,
|
|
|
|
[Field ("AVPlayerRateDidChangeReasonAppBackgrounded")]
|
|
AppBackgrounded,
|
|
|
|
}
|
|
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), Watch (8,0)]
|
|
enum AVVideoRange {
|
|
|
|
[Field ("AVVideoRangeSDR")]
|
|
Sdr,
|
|
|
|
[Field ("AVVideoRangeHLG")]
|
|
Hlg,
|
|
|
|
[Field ("AVVideoRangePQ")]
|
|
PQ,
|
|
}
|
|
|
|
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), NoWatch]
|
|
interface AVPlayerRateDidChangeEventArgs {
|
|
[Export ("AVPlayerRateDidChangeReasonKey")]
|
|
NSString RateDidChangeStringReason { get; }
|
|
|
|
[Export ("AVPlayerRateDidChangeOriginatingParticipantKey")]
|
|
NSString RateDidChangeOriginatingParticipant { get; }
|
|
}
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12), MacCatalyst (14,5)]
|
|
enum AVPlayerWaitingReason {
|
|
[MacCatalyst (15,0)]
|
|
[Field ("AVPlayerWaitingToMinimizeStallsReason")]
|
|
WaitingToMinimizeStalls,
|
|
|
|
[MacCatalyst (15,0)]
|
|
[Field ("AVPlayerWaitingWhileEvaluatingBufferingRateReason")]
|
|
WaitingWhileEvaluatingBufferingRate,
|
|
|
|
[MacCatalyst (15,0)]
|
|
[Field ("AVPlayerWaitingWithNoItemToPlayReason")]
|
|
WaitingWithNoItemToPlay,
|
|
|
|
[iOS (14, 5), TV (14, 5), Mac (11, 3), MacCatalyst (14,5), Watch (8,0)]
|
|
[Field ("AVPlayerWaitingDuringInterstitialEventReason")]
|
|
WaitingDuringInterstitialEvent,
|
|
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Field ("AVPlayerWaitingForCoordinatedPlaybackReason")]
|
|
WaitingForCoordinatedPlayback,
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayer {
|
|
|
|
#if WATCH
|
|
[Notification]
|
|
#else
|
|
[Notification (typeof (AVPlayerRateDidChangeEventArgs))]
|
|
#endif
|
|
[Watch (8, 0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVPlayerRateDidChangeNotification")]
|
|
NSString RateDidChangeNotification { get; }
|
|
|
|
[Export ("currentItem"), NullAllowed]
|
|
AVPlayerItem CurrentItem { get; }
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; } // defined as 'float'
|
|
|
|
// note: not a property in ObjC
|
|
[Export ("currentTime")]
|
|
CMTime CurrentTime { get; }
|
|
|
|
[Export ("actionAtItemEnd")]
|
|
AVPlayerActionAtItemEnd ActionAtItemEnd { get; set; }
|
|
|
|
[Deprecated (PlatformName.MacOSX, 10, 13)]
|
|
[Deprecated (PlatformName.iOS, 11, 0)]
|
|
[Deprecated (PlatformName.TvOS, 11, 0)]
|
|
[Export ("closedCaptionDisplayEnabled")]
|
|
bool ClosedCaptionDisplayEnabled { [Bind ("isClosedCaptionDisplayEnabled")] get; set; }
|
|
|
|
[Static, Export ("playerWithURL:")]
|
|
AVPlayer FromUrl (NSUrl URL);
|
|
|
|
[Static]
|
|
[Export ("playerWithPlayerItem:")]
|
|
AVPlayer FromPlayerItem ([NullAllowed] AVPlayerItem item);
|
|
|
|
[Export ("initWithURL:")]
|
|
NativeHandle Constructor (NSUrl URL);
|
|
|
|
[Export ("initWithPlayerItem:")]
|
|
NativeHandle Constructor ([NullAllowed] AVPlayerItem item);
|
|
|
|
[Export ("play")]
|
|
void Play ();
|
|
|
|
[Export ("pause")]
|
|
void Pause ();
|
|
|
|
[iOS (10,0), TV(10,0), Mac (10,12)]
|
|
[Export ("timeControlStatus")]
|
|
AVPlayerTimeControlStatus TimeControlStatus { get; }
|
|
|
|
[iOS (10,0), TV(10,0), Mac (10,12)]
|
|
[NullAllowed, Export ("reasonForWaitingToPlay")]
|
|
string ReasonForWaitingToPlay { get; }
|
|
|
|
[iOS (10,0), TV(10,0), Mac (10,12)]
|
|
[Export ("playImmediatelyAtRate:")]
|
|
void PlayImmediatelyAtRate (float rate);
|
|
|
|
[Export ("replaceCurrentItemWithPlayerItem:")]
|
|
void ReplaceCurrentItemWithPlayerItem ([NullAllowed] AVPlayerItem item);
|
|
|
|
[Export ("addPeriodicTimeObserverForInterval:queue:usingBlock:")]
|
|
NSObject AddPeriodicTimeObserver (CMTime interval, [NullAllowed] DispatchQueue queue, Action<CMTime> handler);
|
|
|
|
[Export ("addBoundaryTimeObserverForTimes:queue:usingBlock:")]
|
|
NSObject AddBoundaryTimeObserver (NSValue [] times, [NullAllowed] DispatchQueue queue, Action handler);
|
|
|
|
[Export ("removeTimeObserver:")]
|
|
void RemoveTimeObserver (NSObject observer);
|
|
|
|
[Export ("seekToTime:")]
|
|
void Seek (CMTime toTime);
|
|
|
|
[Export ("seekToTime:toleranceBefore:toleranceAfter:")]
|
|
void Seek (CMTime toTime, CMTime toleranceBefore, CMTime toleranceAfter);
|
|
|
|
[Export ("error"), NullAllowed]
|
|
NSError Error { get; }
|
|
|
|
[Export ("status")]
|
|
AVPlayerStatus Status { get; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'AllowsExternalPlayback' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 9, 0, message: "Use 'AllowsExternalPlayback' instead.")]
|
|
[Export ("allowsAirPlayVideo")]
|
|
bool AllowsAirPlayVideo { get; set; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'ExternalPlaybackActive' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 9, 0, message: "Use 'ExternalPlaybackActive' instead.")]
|
|
[Export ("airPlayVideoActive")]
|
|
bool AirPlayVideoActive { [Bind ("isAirPlayVideoActive")] get; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 6, 0, message: "Use 'UsesExternalPlaybackWhileExternalScreenIsActive' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 9, 0, message: "Use 'UsesExternalPlaybackWhileExternalScreenIsActive' instead.")]
|
|
[Export ("usesAirPlayVideoWhileAirPlayScreenIsActive")]
|
|
bool UsesAirPlayVideoWhileAirPlayScreenIsActive { get; set; }
|
|
|
|
[Export ("seekToTime:completionHandler:")]
|
|
[Async]
|
|
void Seek (CMTime time, AVCompletion completion);
|
|
|
|
[Export ("seekToTime:toleranceBefore:toleranceAfter:completionHandler:")]
|
|
[Async]
|
|
void Seek (CMTime time, CMTime toleranceBefore, CMTime toleranceAfter, AVCompletion completion);
|
|
|
|
[Mac (10,9)]
|
|
[Export ("seekToDate:")]
|
|
void Seek (NSDate date);
|
|
|
|
[Mac (10,9)] // Header says 10.7, but it's a lie
|
|
[Export ("seekToDate:completionHandler:")]
|
|
[Async]
|
|
void Seek (NSDate date, AVCompletion onComplete);
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Export ("automaticallyWaitsToMinimizeStalling")]
|
|
bool AutomaticallyWaitsToMinimizeStalling { get; set; }
|
|
|
|
[Export ("setRate:time:atHostTime:")]
|
|
void SetRate (float /* defined as 'float' */ rate, CMTime itemTime, CMTime hostClockTime);
|
|
|
|
[Export ("prerollAtRate:completionHandler:")]
|
|
[Async]
|
|
void Preroll (float /* defined as 'float' */ rate, [NullAllowed] AVCompletion onComplete);
|
|
|
|
[Export ("cancelPendingPrerolls")]
|
|
void CancelPendingPrerolls ();
|
|
|
|
[Mac (10,12)]
|
|
[Export ("outputObscuredDueToInsufficientExternalProtection")]
|
|
bool OutputObscuredDueToInsufficientExternalProtection { get; }
|
|
|
|
[Deprecated (PlatformName.MacOSX, 15, 0)]
|
|
[Deprecated (PlatformName.iOS, 15, 0)]
|
|
[Deprecated (PlatformName.TvOS, 15, 0)]
|
|
[Deprecated (PlatformName.WatchOS, 15, 0)]
|
|
[Deprecated (PlatformName.MacCatalyst, 15, 0)]
|
|
[Export ("masterClock"), NullAllowed]
|
|
CMClock MasterClock { get; set; }
|
|
|
|
[Mac (10,11)]
|
|
[Export ("allowsExternalPlayback")]
|
|
bool AllowsExternalPlayback { get; set; }
|
|
|
|
[Mac (10,11)]
|
|
[Export ("externalPlaybackActive")]
|
|
bool ExternalPlaybackActive { [Bind ("isExternalPlaybackActive")] get; }
|
|
|
|
[NoMac]
|
|
[Export ("usesExternalPlaybackWhileExternalScreenIsActive")]
|
|
bool UsesExternalPlaybackWhileExternalScreenIsActive { get; set; }
|
|
|
|
[Mac (10, 9)]
|
|
[Protected]
|
|
[Export ("externalPlaybackVideoGravity", ArgumentSemantic.Copy)]
|
|
NSString WeakExternalPlaybackVideoGravity { get; set; }
|
|
|
|
[iOS (7,0)]
|
|
[Export ("volume")]
|
|
float Volume { get; set; } // defined as 'float'
|
|
|
|
[iOS (7,0)]
|
|
[Export ("muted")]
|
|
bool Muted { [Bind ("isMuted")] get; set; }
|
|
|
|
[iOS (7,0)][Mac (10,9)]
|
|
[Export ("appliesMediaSelectionCriteriaAutomatically")]
|
|
bool AppliesMediaSelectionCriteriaAutomatically { get; set; }
|
|
|
|
[iOS (7,0)][Mac (10,9)]
|
|
[return: NullAllowed]
|
|
[Export ("mediaSelectionCriteriaForMediaCharacteristic:")]
|
|
AVPlayerMediaSelectionCriteria MediaSelectionCriteriaForMediaCharacteristic (NSString avMediaCharacteristic);
|
|
|
|
[iOS (7, 0)][Mac (10,9)]
|
|
[Export ("setMediaSelectionCriteria:forMediaCharacteristic:")]
|
|
void SetMediaSelectionCriteria ([NullAllowed] AVPlayerMediaSelectionCriteria criteria, NSString avMediaCharacteristic);
|
|
|
|
[Mac (10,9), NoiOS, NoTV, NoWatch, MacCatalyst (15,0)]
|
|
[Export ("audioOutputDeviceUniqueID"), NullAllowed]
|
|
string AudioOutputDeviceUniqueID { get; set; }
|
|
|
|
#if !NET
|
|
[Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVPlayerWaitingToMinimizeStallsReason")]
|
|
NSString WaitingToMinimizeStallsReason { get; }
|
|
|
|
[Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVPlayerWaitingWhileEvaluatingBufferingRateReason")]
|
|
NSString WaitingWhileEvaluatingBufferingRateReason { get; }
|
|
|
|
[Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVPlayerWaitingWithNoItemToPlayReason")]
|
|
NSString WaitingWithNoItemToPlayReason { get; }
|
|
|
|
[Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
|
|
[iOS (14, 5), TV (14, 5), Mac (11, 3)]
|
|
[MacCatalyst (14,5)]
|
|
[Watch (8,0)]
|
|
[Field ("AVPlayerWaitingDuringInterstitialEventReason")]
|
|
NSString WaitingDuringInterstitialEventReason { get; }
|
|
|
|
[Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")]
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Field ("AVPlayerWaitingForCoordinatedPlaybackReason")]
|
|
NSString AVPlayerWaitingForCoordinatedPlaybackReason { get; }
|
|
#endif // !NET
|
|
|
|
// From AVPlayer (AVPlayerPlaybackCapabilities) Category
|
|
|
|
[TV (11,2), NoWatch, NoMac, iOS (11,2)]
|
|
[Static]
|
|
[Export ("availableHDRModes")]
|
|
AVPlayerHdrMode AvailableHdrModes { get; }
|
|
|
|
[TV (11, 2), NoWatch, NoMac, iOS (11, 2)]
|
|
[Field ("AVPlayerAvailableHDRModesDidChangeNotification")]
|
|
[Notification]
|
|
NSString AvailableHdrModesDidChangeNotification { get; }
|
|
|
|
// From AVPlayer (AVPlayerVideoDecoderGPUSupport) Category
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (10,13,4), MacCatalyst (15,0)]
|
|
[Export ("preferredVideoDecoderGPURegistryID")]
|
|
ulong PreferredVideoDecoderGpuRegistryId { get; set; }
|
|
|
|
// From AVPlayerVideoDisplaySleepPrevention (AVPlayer) Category
|
|
|
|
[TV (12, 0), NoWatch, Mac (10, 14), iOS (12, 0)]
|
|
[Export ("preventsDisplaySleepDuringVideoPlayback")]
|
|
bool PreventsDisplaySleepDuringVideoPlayback { get; set; }
|
|
|
|
[TV (13,4), NoWatch, Mac (10,15), iOS (13,4)]
|
|
[Static]
|
|
[Export ("eligibleForHDRPlayback")]
|
|
bool EligibleForHdrPlayback { get; }
|
|
|
|
[Notification]
|
|
[TV (13,4), NoWatch, Mac (10,15), iOS (13,4)]
|
|
[Field ("AVPlayerEligibleForHDRPlaybackDidChangeNotification")]
|
|
NSString EligibleForHdrPlaybackDidChangeNotification { get; }
|
|
|
|
[Watch (8,0), TV (15, 0), Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[NullAllowed, Export ("sourceClock", ArgumentSemantic.Retain)]
|
|
CMClock SourceClock { get; set; }
|
|
|
|
// AVPlayer_AVPlayerBackgroundSupport
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("audiovisualBackgroundPlaybackPolicy", ArgumentSemantic.Assign)]
|
|
AVPlayerAudiovisualBackgroundPlaybackPolicy AudiovisualBackgroundPlaybackPolicy { get; set; }
|
|
|
|
// AVPlayer_PlaybackCoordination
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("playbackCoordinator", ArgumentSemantic.Strong)]
|
|
AVPlayerPlaybackCoordinator PlaybackCoordinator { get; }
|
|
}
|
|
|
|
[iOS (7,0), Mac (10, 9), Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayerMediaSelectionCriteria {
|
|
[Export ("preferredLanguages"), NullAllowed]
|
|
string [] PreferredLanguages { get; }
|
|
|
|
[Export ("preferredMediaCharacteristics"), NullAllowed]
|
|
NSString [] PreferredMediaCharacteristics { get; }
|
|
|
|
[Export ("initWithPreferredLanguages:preferredMediaCharacteristics:")]
|
|
NativeHandle Constructor ([NullAllowed] string [] preferredLanguages, [NullAllowed] NSString [] preferredMediaCharacteristics);
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("initWithPrincipalMediaCharacteristics:preferredLanguages:preferredMediaCharacteristics:")]
|
|
NativeHandle Constructor ([NullAllowed] [BindAs (typeof (AVMediaCharacteristics []))]NSString[] principalMediaCharacteristics, [NullAllowed] [BindAs (typeof (AVMediaCharacteristics []))] NSString[] preferredLanguages, [NullAllowed] string[] preferredMediaCharacteristics);
|
|
|
|
[BindAs (typeof (AVMediaCharacteristics []))]
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[NullAllowed, Export ("principalMediaCharacteristics")]
|
|
NSString[] PrincipalMediaCharacteristics { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Mac (10, 9)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // NSGenericException *** -[AVTextStyleRule init] Not available. Use initWithTextMarkupAttributes:textSelector: instead
|
|
interface AVTextStyleRule : NSCopying {
|
|
[Export ("textMarkupAttributes")][Protected]
|
|
NSDictionary WeakTextMarkupAttributes { get; }
|
|
|
|
[Wrap ("WeakTextMarkupAttributes")]
|
|
CMTextMarkupAttributes TextMarkupAttributes { get; }
|
|
|
|
[Export ("textSelector"), NullAllowed]
|
|
string TextSelector { get; }
|
|
|
|
[Static]
|
|
[Export ("propertyListForTextStyleRules:")]
|
|
NSObject ToPropertyList (AVTextStyleRule [] textStyleRules);
|
|
|
|
[return: NullAllowed]
|
|
[Static]
|
|
[Export ("textStyleRulesFromPropertyList:")]
|
|
AVTextStyleRule [] FromPropertyList (NSObject plist);
|
|
|
|
[return: NullAllowed]
|
|
[Static][Internal]
|
|
[Export ("textStyleRuleWithTextMarkupAttributes:")]
|
|
AVTextStyleRule FromTextMarkupAttributes (NSDictionary textMarkupAttributes);
|
|
|
|
[return: NullAllowed]
|
|
[Static]
|
|
[Wrap ("FromTextMarkupAttributes (textMarkupAttributes.GetDictionary ()!)")]
|
|
AVTextStyleRule FromTextMarkupAttributes (CMTextMarkupAttributes textMarkupAttributes);
|
|
|
|
[return: NullAllowed]
|
|
[Static][Internal]
|
|
[Export ("textStyleRuleWithTextMarkupAttributes:textSelector:")]
|
|
AVTextStyleRule FromTextMarkupAttributes (NSDictionary textMarkupAttributes, [NullAllowed] string textSelector);
|
|
|
|
[return: NullAllowed]
|
|
[Static]
|
|
[Wrap ("FromTextMarkupAttributes (textMarkupAttributes.GetDictionary ()!, textSelector)")]
|
|
AVTextStyleRule FromTextMarkupAttributes (CMTextMarkupAttributes textMarkupAttributes, [NullAllowed] string textSelector);
|
|
|
|
[Export ("initWithTextMarkupAttributes:")]
|
|
[Protected]
|
|
NativeHandle Constructor (NSDictionary textMarkupAttributes);
|
|
|
|
[Wrap ("this (attributes.GetDictionary ()!)")]
|
|
NativeHandle Constructor (CMTextMarkupAttributes attributes);
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithTextMarkupAttributes:textSelector:")]
|
|
[Protected]
|
|
NativeHandle Constructor (NSDictionary textMarkupAttributes, [NullAllowed] string textSelector);
|
|
|
|
[Wrap ("this (attributes.GetDictionary ()!, textSelector)")]
|
|
NativeHandle Constructor (CMTextMarkupAttributes attributes, string textSelector);
|
|
}
|
|
|
|
[iOS (9,0)][Mac (10,11)][Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVMetadataGroup {
|
|
|
|
[Export ("items", ArgumentSemantic.Copy)]
|
|
AVMetadataItem[] Items { get; }
|
|
|
|
[iOS (9,3)][Mac (10,12)]
|
|
[TV (9,2)]
|
|
[NullAllowed, Export ("classifyingLabel")]
|
|
string ClassifyingLabel { get; }
|
|
|
|
[iOS (9,3)]
|
|
[TV (9,2)]
|
|
[Mac (10,12)]
|
|
[NullAllowed, Export ("uniqueID")]
|
|
string UniqueID { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVMetadataGroup))]
|
|
interface AVTimedMetadataGroup : NSMutableCopying {
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; [NotImplemented] set; }
|
|
|
|
[Export ("items", ArgumentSemantic.Copy)]
|
|
AVMetadataItem [] Items { get; [NotImplemented] set; }
|
|
|
|
[Export ("initWithItems:timeRange:")]
|
|
NativeHandle Constructor (AVMetadataItem [] items, CMTimeRange timeRange);
|
|
|
|
[return: NullAllowed]
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Export ("copyFormatDescription")]
|
|
CMFormatDescription CopyFormatDescription ();
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Export ("initWithSampleBuffer:")]
|
|
NativeHandle Constructor (CMSampleBuffer sampleBuffer);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVTimedMetadataGroup))]
|
|
interface AVMutableTimedMetadataGroup {
|
|
|
|
[Export ("items", ArgumentSemantic.Copy)]
|
|
[Override]
|
|
AVMetadataItem [] Items { get; set; }
|
|
|
|
[Export ("timeRange")]
|
|
[Override]
|
|
CMTimeRange TimeRange { get; set; }
|
|
}
|
|
|
|
interface AVPlayerItemErrorEventArgs {
|
|
[Export ("AVPlayerItemFailedToPlayToEndTimeErrorKey")]
|
|
NSError Error { get; }
|
|
}
|
|
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), NoWatch]
|
|
interface AVPlayerItemTimeJumpedEventArgs {
|
|
[Export ("AVPlayerItemTimeJumpedOriginatingParticipantKey")]
|
|
NSString OriginatingParticipant { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
// 'init' returns NIL
|
|
[DisableDefaultCtor]
|
|
interface AVPlayerItem : NSCopying {
|
|
[Export ("status")]
|
|
AVPlayerItemStatus Status { get; }
|
|
|
|
[Export ("asset")]
|
|
AVAsset Asset { get; }
|
|
|
|
[Export ("tracks")]
|
|
AVPlayerItemTrack [] Tracks { get; }
|
|
|
|
[Export ("presentationSize")]
|
|
CGSize PresentationSize { get; }
|
|
|
|
[Export ("forwardPlaybackEndTime")]
|
|
CMTime ForwardPlaybackEndTime { get; set; }
|
|
|
|
[Export ("reversePlaybackEndTime")]
|
|
CMTime ReversePlaybackEndTime { get; set; }
|
|
|
|
[Export ("audioMix", ArgumentSemantic.Copy), NullAllowed]
|
|
AVAudioMix AudioMix { get; set; }
|
|
|
|
[NoWatch]
|
|
[Export ("videoComposition", ArgumentSemantic.Copy), NullAllowed]
|
|
AVVideoComposition VideoComposition { get; set; }
|
|
|
|
[Export ("currentTime")]
|
|
CMTime CurrentTime { get; }
|
|
|
|
[Export ("playbackLikelyToKeepUp")]
|
|
bool PlaybackLikelyToKeepUp { [Bind ("isPlaybackLikelyToKeepUp")] get; }
|
|
|
|
[Export ("playbackBufferFull")]
|
|
bool PlaybackBufferFull { [Bind ("isPlaybackBufferFull")] get; }
|
|
|
|
[Export ("playbackBufferEmpty")]
|
|
bool PlaybackBufferEmpty { [Bind ("isPlaybackBufferEmpty")] get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Export ("canUseNetworkResourcesForLiveStreamingWhilePaused", ArgumentSemantic.Assign)]
|
|
bool CanUseNetworkResourcesForLiveStreamingWhilePaused { get; set; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Export ("preferredForwardBufferDuration")]
|
|
double PreferredForwardBufferDuration { get; set; }
|
|
|
|
[Export ("seekableTimeRanges")]
|
|
NSValue [] SeekableTimeRanges { get; }
|
|
|
|
[Export ("loadedTimeRanges")]
|
|
NSValue [] LoadedTimeRanges { get; }
|
|
|
|
[NoWatch]
|
|
[Deprecated (PlatformName.iOS, 13,0, message: "Use the class 'AVPlayerItemMetadataOutput' instead to get the time metadata info.")]
|
|
[Deprecated (PlatformName.TvOS, 13,0, message: "Use the class 'AVPlayerItemMetadataOutput' instead to get the time metadata info.")]
|
|
[Deprecated (PlatformName.MacOSX, 10,15, message: "Use the class 'AVPlayerItemMetadataOutput' instead to get the time metadata info.")]
|
|
[Export ("timedMetadata"), NullAllowed]
|
|
NSObject [] TimedMetadata { get; }
|
|
|
|
[Static, Export ("playerItemWithURL:")]
|
|
AVPlayerItem FromUrl (NSUrl URL);
|
|
|
|
[Static]
|
|
[Export ("playerItemWithAsset:")]
|
|
AVPlayerItem FromAsset ([NullAllowed] AVAsset asset);
|
|
|
|
[Export ("initWithURL:")]
|
|
NativeHandle Constructor (NSUrl URL);
|
|
|
|
[Export ("initWithAsset:")]
|
|
NativeHandle Constructor (AVAsset asset);
|
|
|
|
[Export ("stepByCount:")]
|
|
void StepByCount (nint stepCount);
|
|
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'Seek (NSDate, AVCompletion)' instead.")]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'Seek (NSDate, AVCompletion)' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'Seek (NSDate, AVCompletion)' instead.")]
|
|
[Export ("seekToDate:")]
|
|
bool Seek (NSDate date);
|
|
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'Seek (CMTime, AVCompletion)' instead.")]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'Seek (CMTime, AVCompletion)' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'Seek (CMTime, AVCompletion)' instead.")]
|
|
[Export ("seekToTime:")]
|
|
void Seek (CMTime time);
|
|
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'Seek (CMTime, CMTime, CMTime, AVCompletion)' instead.")]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'Seek (CMTime, CMTime, CMTime, AVCompletion)' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'Seek (CMTime, CMTime, CMTime, AVCompletion)' instead.")]
|
|
[Export ("seekToTime:toleranceBefore:toleranceAfter:")]
|
|
void Seek (CMTime time, CMTime toleranceBefore, CMTime toleranceAfter);
|
|
|
|
[Export ("error"), NullAllowed]
|
|
NSError Error { get; }
|
|
|
|
[Field ("AVPlayerItemDidPlayToEndTimeNotification")]
|
|
[Notification]
|
|
NSString DidPlayToEndTimeNotification { get; }
|
|
|
|
[Field ("AVPlayerItemFailedToPlayToEndTimeNotification")]
|
|
[Notification (typeof (AVPlayerItemErrorEventArgs))]
|
|
NSString ItemFailedToPlayToEndTimeNotification { get; }
|
|
|
|
[Field ("AVPlayerItemFailedToPlayToEndTimeErrorKey")]
|
|
NSString ItemFailedToPlayToEndTimeErrorKey { get; }
|
|
|
|
[Export ("accessLog"), NullAllowed]
|
|
AVPlayerItemAccessLog AccessLog { get; }
|
|
|
|
[Export ("errorLog"), NullAllowed]
|
|
AVPlayerItemErrorLog ErrorLog { get; }
|
|
|
|
[Export ("currentDate"), NullAllowed]
|
|
NSDate CurrentDate { get; }
|
|
|
|
[Export ("duration")]
|
|
CMTime Duration { get; }
|
|
|
|
[Export ("canPlayFastReverse")]
|
|
bool CanPlayFastReverse { get; }
|
|
|
|
[Export ("canPlayFastForward")]
|
|
bool CanPlayFastForward { get; }
|
|
|
|
[Field ("AVPlayerItemTimeJumpedNotification")]
|
|
#if !NET
|
|
[Notification]
|
|
#else
|
|
[Notification (typeof (AVPlayerItemTimeJumpedEventArgs))]
|
|
#endif
|
|
NSString TimeJumpedNotification { get; }
|
|
|
|
[Export ("seekToTime:completionHandler:")]
|
|
[Async]
|
|
void Seek (CMTime time, [NullAllowed] AVCompletion completion);
|
|
|
|
[Export ("cancelPendingSeeks")]
|
|
void CancelPendingSeeks ();
|
|
|
|
[Export ("seekToTime:toleranceBefore:toleranceAfter:completionHandler:")]
|
|
[Async]
|
|
void Seek (CMTime time, CMTime toleranceBefore, CMTime toleranceAfter, [NullAllowed] AVCompletion completion);
|
|
|
|
[Export ("selectMediaOption:inMediaSelectionGroup:")]
|
|
void SelectMediaOption ([NullAllowed] AVMediaSelectionOption mediaSelectionOption, AVMediaSelectionGroup mediaSelectionGroup);
|
|
|
|
[return: NullAllowed]
|
|
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'CurrentMediaSelection' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'CurrentMediaSelection' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'CurrentMediaSelection' instead.")]
|
|
[Export ("selectedMediaOptionInMediaSelectionGroup:")]
|
|
AVMediaSelectionOption SelectedMediaOption (AVMediaSelectionGroup inMediaSelectionGroup);
|
|
|
|
[iOS (9,0), MacAttribute (10,11)]
|
|
[Export ("currentMediaSelection")]
|
|
AVMediaSelection CurrentMediaSelection { get; }
|
|
|
|
[Export ("canPlaySlowForward")]
|
|
bool CanPlaySlowForward { get; }
|
|
|
|
[Export ("canPlayReverse")]
|
|
bool CanPlayReverse { get; }
|
|
|
|
[Export ("canPlaySlowReverse")]
|
|
bool CanPlaySlowReverse { get; }
|
|
|
|
[Export ("canStepForward")]
|
|
bool CanStepForward { get; }
|
|
|
|
[Export ("canStepBackward")]
|
|
bool CanStepBackward { get; }
|
|
|
|
[Export ("outputs")]
|
|
AVPlayerItemOutput [] Outputs { get; }
|
|
|
|
[Export ("addOutput:")]
|
|
[PostGet ("Outputs")]
|
|
void AddOutput (AVPlayerItemOutput output);
|
|
|
|
[Export ("removeOutput:")]
|
|
[PostGet ("Outputs")]
|
|
void RemoveOutput (AVPlayerItemOutput output);
|
|
|
|
[Export ("timebase"), NullAllowed]
|
|
CMTimebase Timebase { get; }
|
|
|
|
[Mac (10, 9)]
|
|
[Export ("seekToDate:completionHandler:")]
|
|
[Async]
|
|
bool Seek (NSDate date, AVCompletion completion);
|
|
|
|
[Mac (10, 9)]
|
|
[Export ("seekingWaitsForVideoCompositionRendering")]
|
|
bool SeekingWaitsForVideoCompositionRendering { get; set; }
|
|
|
|
[Mac (10, 9), NoWatch]
|
|
[Export ("textStyleRules", ArgumentSemantic.Copy), NullAllowed]
|
|
AVTextStyleRule [] TextStyleRules { get; set; }
|
|
|
|
[Mac (10, 9)]
|
|
[Field ("AVPlayerItemPlaybackStalledNotification")]
|
|
[Notification]
|
|
NSString PlaybackStalledNotification { get; }
|
|
|
|
[Mac (10, 9)]
|
|
[Field ("AVPlayerItemNewAccessLogEntryNotification")]
|
|
[Notification]
|
|
NSString NewAccessLogEntryNotification { get; }
|
|
|
|
[Mac (10, 9)]
|
|
[Field ("AVPlayerItemNewErrorLogEntryNotification")]
|
|
[Notification]
|
|
NSString NewErrorLogEntryNotification { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Static, Export ("playerItemWithAsset:automaticallyLoadedAssetKeys:")]
|
|
AVPlayerItem FromAsset ([NullAllowed] AVAsset asset, [NullAllowed] NSString [] automaticallyLoadedAssetKeys);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[DesignatedInitializer]
|
|
[Export ("initWithAsset:automaticallyLoadedAssetKeys:")]
|
|
NativeHandle Constructor (AVAsset asset, [NullAllowed] params NSString [] automaticallyLoadedAssetKeys);
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("automaticallyLoadedAssetKeys", ArgumentSemantic.Copy)]
|
|
NSString [] AutomaticallyLoadedAssetKeys { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9), NoWatch]
|
|
[Export ("customVideoCompositor", ArgumentSemantic.Copy), NullAllowed]
|
|
[Protocolize]
|
|
AVVideoCompositing CustomVideoCompositor { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("audioTimePitchAlgorithm", ArgumentSemantic.Copy)]
|
|
// DOC: Mention this is an AVAudioTimePitch constant
|
|
NSString AudioTimePitchAlgorithm { get; set; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("selectMediaOptionAutomaticallyInMediaSelectionGroup:")]
|
|
void SelectMediaOptionAutomaticallyInMediaSelectionGroup (AVMediaSelectionGroup mediaSelectionGroup);
|
|
|
|
[iOS (8,0)][Mac (10,10)]
|
|
[Export ("preferredPeakBitRate")]
|
|
double PreferredPeakBitRate { get; set; }
|
|
|
|
[iOS (11,0)][TV (11,0)][Mac (10,13)]
|
|
[Export ("preferredMaximumResolution", ArgumentSemantic.Assign)]
|
|
CGSize PreferredMaximumResolution { get; set; }
|
|
|
|
#region AVPlayerViewControllerAdditions
|
|
[NoiOS][NoMac][NoWatch]
|
|
[TV (9,0)]
|
|
[Export ("navigationMarkerGroups", ArgumentSemantic.Copy)]
|
|
AVNavigationMarkersGroup[] NavigationMarkerGroups { get; set; }
|
|
|
|
[NoMac][NoWatch]
|
|
[TV (9,0)]
|
|
[iOS (13,0)]
|
|
[Export ("externalMetadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem[] ExternalMetadata { get; set; }
|
|
|
|
[NoiOS][NoMac][NoWatch]
|
|
[TV (9,0)]
|
|
[Export ("interstitialTimeRanges", ArgumentSemantic.Copy)]
|
|
AVInterstitialTimeRange[] InterstitialTimeRanges { get; set; }
|
|
#endregion
|
|
|
|
[iOS (9,3)][Mac (10,12)]
|
|
[TV (9,2)]
|
|
[Export ("addMediaDataCollector:")]
|
|
void AddMediaDataCollector (AVPlayerItemMediaDataCollector collector);
|
|
|
|
[iOS (9,3)][Mac (10,12)]
|
|
[TV (9,2)]
|
|
[Export ("removeMediaDataCollector:")]
|
|
void RemoveMediaDataCollector (AVPlayerItemMediaDataCollector collector);
|
|
|
|
[iOS (9,3)][Mac (10,12)]
|
|
[TV (9,2)]
|
|
[Export ("mediaDataCollectors")]
|
|
AVPlayerItemMediaDataCollector[] MediaDataCollectors { get; }
|
|
|
|
[NoiOS, TV (10, 0), NoWatch, NoMac]
|
|
[NullAllowed, Export ("nextContentProposal", ArgumentSemantic.Assign)]
|
|
AVContentProposal NextContentProposal { get; set; }
|
|
|
|
[TV (11, 0), NoWatch, Mac (10, 13), iOS (11, 0)]
|
|
[Internal]
|
|
[Export ("videoApertureMode")]
|
|
NSString _VideoApertureMode { get; set; }
|
|
|
|
[Notification]
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Field ("AVPlayerItemRecommendedTimeOffsetFromLiveDidChangeNotification")]
|
|
NSString RecommendedTimeOffsetFromLiveDidChangeNotification { get; }
|
|
|
|
[Notification]
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Field ("AVPlayerItemMediaSelectionDidChangeNotification")]
|
|
NSString MediaSelectionDidChangeNotification { get; }
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("configuredTimeOffsetFromLive", ArgumentSemantic.Assign)]
|
|
CMTime ConfiguredTimeOffsetFromLive { get; set; }
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("recommendedTimeOffsetFromLive")]
|
|
CMTime RecommendedTimeOffsetFromLive { get; }
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Export ("automaticallyPreservesTimeOffsetFromLive")]
|
|
bool AutomaticallyPreservesTimeOffsetFromLive { get; set; }
|
|
|
|
[Deprecated (PlatformName.iOS, 14, 0, message : "Use 'AllowedAudioSpatializationFormats' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 11, 0, message : "Use 'AllowedAudioSpatializationFormats' instead.")]
|
|
[NoWatch, NoTV, Mac (10, 15), iOS (13, 0)]
|
|
[Export ("audioSpatializationAllowed")]
|
|
bool AudioSpatializationAllowed { [Bind ("isAudioSpatializationAllowed")] get; set; }
|
|
|
|
[NoWatch, TV (15,0), Mac (11, 0), iOS (14, 0)]
|
|
[Export ("allowedAudioSpatializationFormats", ArgumentSemantic.Assign)]
|
|
AVAudioSpatializationFormats AllowedAudioSpatializationFormats { get; set; }
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Export ("startsOnFirstEligibleVariant")]
|
|
bool StartsOnFirstEligibleVariant { get; set; }
|
|
|
|
[Watch (7, 4), TV (14, 5), Mac (11, 3), iOS (14, 5)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("variantPreferences", ArgumentSemantic.Assign)]
|
|
AVVariantPreferences VariantPreferences { get; set; }
|
|
|
|
[iOS (14,1)]
|
|
[TV (14,2)][Mac (11,0)]
|
|
[NoWatch]
|
|
[Export ("appliesPerFrameHDRDisplayMetadata")]
|
|
bool AppliesPerFrameHdrDisplayMetadata { get; set; }
|
|
|
|
[TV (15, 0), NoWatch, Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("preferredMaximumResolutionForExpensiveNetworks", ArgumentSemantic.Assign)]
|
|
CGSize PreferredMaximumResolutionForExpensiveNetworks { get; set; }
|
|
|
|
[Watch (8, 0), TV (15, 0), Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("preferredPeakBitRateForExpensiveNetworks")]
|
|
double PreferredPeakBitRateForExpensiveNetworks { get; set; }
|
|
|
|
[Watch (8, 0), TV (15, 0), Mac (12, 0), iOS (15, 0), MacCatalyst (15,0)]
|
|
[Export ("copy")]
|
|
[return: Release]
|
|
NSObject Copy ();
|
|
|
|
[TV (15, 0), NoWatch, NoMac, NoiOS, NoMacCatalyst]
|
|
[Export ("translatesPlayerInterstitialEvents")]
|
|
bool TranslatesPlayerInterstitialEvents { get; set; }
|
|
}
|
|
|
|
[Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Flags]
|
|
[Native]
|
|
public enum AVVariantPreferences : ulong
|
|
{
|
|
None = 0,
|
|
ScalabilityToLosslessAudio = 1 << 0,
|
|
}
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[Category]
|
|
[BaseType (typeof (AVPlayerItem))]
|
|
interface AVPlayerItem_AVPlayerItemProtectedContent {
|
|
[Export ("isAuthorizationRequiredForPlayback")]
|
|
bool IsAuthorizationRequiredForPlayback ();
|
|
|
|
[Export ("isApplicationAuthorizedForPlayback")]
|
|
bool IsApplicationAuthorizedForPlayback ();
|
|
|
|
[Export ("isContentAuthorizedForPlayback")]
|
|
bool IsContentAuthorizedForPlayback ();
|
|
|
|
[Export ("requestContentAuthorizationAsynchronouslyWithTimeoutInterval:completionHandler:")]
|
|
void RequestContentAuthorizationAsynchronously (/* NSTimeInterval */ double timeoutInterval, Action handler);
|
|
|
|
[Export ("cancelContentAuthorizationRequest")]
|
|
void CancelContentAuthorizationRequest ();
|
|
|
|
[Export ("contentAuthorizationRequestStatus")]
|
|
AVContentAuthorizationStatus GetContentAuthorizationRequestStatus ();
|
|
}
|
|
|
|
[NoWatch]
|
|
[TV (14, 5), Mac (11, 3), iOS (14, 5)]
|
|
[Category]
|
|
[BaseType (typeof(AVPlayerItem))]
|
|
interface AVPlayerItem_AVPlayerInterstitialSupport
|
|
{
|
|
[Export ("automaticallyHandlesInterstitialEvents")]
|
|
bool GetAutomaticallyHandlesInterstitialEvents ();
|
|
|
|
[Export ("setAutomaticallyHandlesInterstitialEvents:")]
|
|
void SetAutomaticallyHandlesInterstitialEvents (bool value);
|
|
|
|
[Export ("templatePlayerItem")]
|
|
[return: NullAllowed]
|
|
AVPlayerItem GetTemplatePlayerItem ();
|
|
}
|
|
|
|
[NoWatch, NoMac, NoiOS]
|
|
[TV (13,0)]
|
|
[Category]
|
|
[BaseType (typeof (AVPlayerItem))]
|
|
interface AVPlayerItem_AVPlaybackRestrictions {
|
|
[Async]
|
|
[Export ("requestPlaybackRestrictionsAuthorization:")]
|
|
void RequestPlaybackRestrictionsAuthorization (Action<bool, NSError> completion);
|
|
|
|
[Export ("cancelPlaybackRestrictionsAuthorizationRequest")]
|
|
void CancelPlaybackRestrictionsAuthorizationRequest ();
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** initialization method -init cannot be sent to an abstract object of class AVPlayerItemOutput: Create a concrete instance!
|
|
[DisableDefaultCtor]
|
|
interface AVPlayerItemOutput {
|
|
[Export ("itemTimeForHostTime:")]
|
|
CMTime GetItemTime (double hostTimeInSeconds);
|
|
|
|
[Export ("itemTimeForMachAbsoluteTime:")]
|
|
CMTime GetItemTime (long machAbsoluteTime);
|
|
|
|
[Export ("suppressesPlayerRendering")]
|
|
bool SuppressesPlayerRendering { get; set; }
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[Export ("itemTimeForCVTimeStamp:")]
|
|
CMTime GetItemTime (CVTimeStamp timestamp);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[iOS (9,3)]
|
|
[TV (9,2)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor] // initialization method -init cannot be sent to an abstract object of class AVPlayerItemMediaDataCollector: Create a concrete instance!
|
|
[Abstract]
|
|
interface AVPlayerItemMediaDataCollector
|
|
{
|
|
}
|
|
|
|
[iOS (8,0)][Mac (10,10)][Watch (6,0)]
|
|
[BaseType (typeof (AVPlayerItemOutput))]
|
|
interface AVPlayerItemMetadataOutput {
|
|
|
|
[DesignatedInitializer]
|
|
[Export ("initWithIdentifiers:")]
|
|
NativeHandle Constructor ([NullAllowed] NSString [] metadataIdentifiers);
|
|
|
|
[Export ("delegate", ArgumentSemantic.Weak), NullAllowed]
|
|
NSObject WeakDelegate { get; }
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
[NullAllowed]
|
|
[Protocolize]
|
|
AVPlayerItemMetadataOutputPushDelegate Delegate { get; }
|
|
|
|
[Export ("delegateQueue"), NullAllowed]
|
|
DispatchQueue DelegateQueue { get; }
|
|
|
|
[Export ("advanceIntervalForDelegateInvocation")]
|
|
double AdvanceIntervalForDelegateInvocation { get; set; }
|
|
|
|
[Export ("setDelegate:queue:")]
|
|
void SetDelegate ([Protocolize][NullAllowed] AVPlayerItemMetadataOutputPushDelegate pushDelegate, [NullAllowed] DispatchQueue delegateQueue);
|
|
}
|
|
|
|
[BaseType (typeof (NSObject))]
|
|
[iOS (8,0)][Mac (10,10)][Watch (6,0)]
|
|
[Protocol, Model]
|
|
interface AVPlayerItemMetadataOutputPushDelegate : AVPlayerItemOutputPushDelegate {
|
|
|
|
[iOS (8,0)]
|
|
[Export ("metadataOutput:didOutputTimedMetadataGroups:fromPlayerItemTrack:")]
|
|
void DidOutputTimedMetadataGroups (AVPlayerItemMetadataOutput output, AVTimedMetadataGroup [] groups, [NullAllowed] AVPlayerItemTrack track);
|
|
}
|
|
|
|
[iOS (10,0)]
|
|
[Mac (10,12)]
|
|
[TV (10,0)]
|
|
[NoWatch]
|
|
[Static]
|
|
interface AVVideoColorPrimaries {
|
|
[Field ("AVVideoColorPrimaries_ITU_R_709_2")]
|
|
NSString Itu_R_709_2 { get; }
|
|
|
|
[NoiOS, NoTV, NoMacCatalyst]
|
|
[Field ("AVVideoColorPrimaries_EBU_3213")]
|
|
NSString Ebu_3213 { get; }
|
|
|
|
[Field ("AVVideoColorPrimaries_SMPTE_C")]
|
|
NSString Smpte_C { get; }
|
|
|
|
[Field ("AVVideoColorPrimaries_P3_D65")]
|
|
NSString P3_D65 { get; }
|
|
|
|
[iOS (11,0), Mac (10,13), TV (11,0)]
|
|
[Field ("AVVideoColorPrimaries_ITU_R_2020")]
|
|
NSString Itu_R_2020 { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
interface AVVideoTransferFunction {
|
|
[iOS (10, 0)]
|
|
[Field ("AVVideoTransferFunction_ITU_R_709_2")]
|
|
NSString AVVideoTransferFunction_Itu_R_709_2 { get; }
|
|
|
|
[NoiOS, NoTV, Mac (10,12), NoMacCatalyst]
|
|
[Field ("AVVideoTransferFunction_SMPTE_240M_1995")]
|
|
NSString AVVideoTransferFunction_Smpte_240M_1995 { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
interface AVVideoYCbCrMatrix {
|
|
|
|
[iOS (10, 0)]
|
|
[Field ("AVVideoYCbCrMatrix_ITU_R_709_2")]
|
|
NSString Itu_R_709_2 { get; }
|
|
|
|
[iOS (10, 0)]
|
|
[Field ("AVVideoYCbCrMatrix_ITU_R_601_4")]
|
|
NSString Itu_R_601_4 { get; }
|
|
|
|
[NoiOS, NoTV, Mac (10,12), NoMacCatalyst]
|
|
[Field ("AVVideoYCbCrMatrix_SMPTE_240M_1995")]
|
|
NSString Smpte_240M_1995 { get; }
|
|
|
|
[iOS (11, 0), TV (11, 0), Mac (10,13)]
|
|
[Field ("AVVideoYCbCrMatrix_ITU_R_2020")]
|
|
NSString Itu_R_2020 { get; }
|
|
|
|
}
|
|
|
|
[NoWatch]
|
|
[StrongDictionary ("AVColorPropertiesKeys")]
|
|
interface AVColorProperties {
|
|
NSString AVVideoColorPrimaries { get; set; }
|
|
NSString AVVideoTransferFunction { get; set; }
|
|
NSString AVVideoYCbCrMatrix { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
[Internal]
|
|
interface AVColorPropertiesKeys {
|
|
[iOS (10, 0)]
|
|
[Field ("AVVideoColorPrimariesKey")]
|
|
NSString AVVideoColorPrimariesKey { get; }
|
|
|
|
[iOS (10, 0)]
|
|
[Field ("AVVideoTransferFunctionKey")]
|
|
NSString AVVideoTransferFunctionKey { get; }
|
|
|
|
[iOS (10, 0)]
|
|
[Field ("AVVideoYCbCrMatrixKey")]
|
|
NSString AVVideoYCbCrMatrixKey { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[StrongDictionary ("AVCleanAperturePropertiesKeys")]
|
|
interface AVCleanApertureProperties {
|
|
NSNumber Width { get; set; }
|
|
NSNumber Height { get; set; }
|
|
NSNumber HorizontalOffset { get; set; }
|
|
NSNumber VerticalOffset { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
[Internal]
|
|
interface AVCleanAperturePropertiesKeys {
|
|
[Field ("AVVideoCleanApertureWidthKey")]
|
|
NSString WidthKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureHeightKey")]
|
|
NSString HeightKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureHorizontalOffsetKey")]
|
|
NSString HorizontalOffsetKey { get; }
|
|
|
|
[Field ("AVVideoCleanApertureVerticalOffsetKey")]
|
|
NSString VerticalOffsetKey { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[StrongDictionary ("AVPixelAspectRatioPropertiesKeys")]
|
|
interface AVPixelAspectRatioProperties {
|
|
NSNumber PixelAspectRatioHorizontalSpacing { get; set; }
|
|
NSNumber PixelAspectRatioVerticalSpacing { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Internal]
|
|
[Static]
|
|
interface AVPixelAspectRatioPropertiesKeys {
|
|
[Field ("AVVideoPixelAspectRatioHorizontalSpacingKey")]
|
|
NSString PixelAspectRatioHorizontalSpacingKey { get; }
|
|
|
|
[Field ("AVVideoPixelAspectRatioVerticalSpacingKey")]
|
|
NSString PixelAspectRatioVerticalSpacingKey { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[StrongDictionary ("AVCompressionPropertiesKeys")]
|
|
interface AVCompressionProperties {
|
|
AVCleanApertureProperties CleanAperture { get; set; }
|
|
AVPixelAspectRatioProperties PixelAspectRatio { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
[Internal]
|
|
interface AVCompressionPropertiesKeys {
|
|
[Field ("AVVideoCleanApertureKey")]
|
|
NSString CleanApertureKey { get; }
|
|
|
|
[Field ("AVVideoPixelAspectRatioKey")]
|
|
NSString PixelAspectRatioKey { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[StrongDictionary ("AVPlayerItemVideoOutputSettingsKeys")]
|
|
interface AVPlayerItemVideoOutputSettings {
|
|
|
|
[iOS (10,0)]
|
|
[TV (10,0)]
|
|
AVColorProperties ColorProperties { get; set; }
|
|
|
|
AVCompressionProperties CompressionProperties { get; set; }
|
|
|
|
[iOS (10,0)]
|
|
[TV (10,0)][Mac (10,12)]
|
|
bool AllowWideColor { get; set; }
|
|
|
|
NSString Codec { get; set; }
|
|
NSString ScalingMode { get; set; }
|
|
NSNumber Width { get; set; }
|
|
NSNumber Height { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[Static]
|
|
[Internal]
|
|
interface AVPlayerItemVideoOutputSettingsKeys {
|
|
[iOS (10,0)]
|
|
[TV (10,0)]
|
|
[Field ("AVVideoColorPropertiesKey")]
|
|
NSString ColorPropertiesKey { get; }
|
|
|
|
[Field ("AVVideoCompressionPropertiesKey")]
|
|
NSString CompressionPropertiesKey { get; }
|
|
|
|
[iOS (10,0), Mac (10,12)]
|
|
[TV (10,0)]
|
|
[Field ("AVVideoAllowWideColorKey")]
|
|
NSString AllowWideColorKey { get; }
|
|
|
|
[Field ("AVVideoCodecKey")]
|
|
NSString CodecKey { get; }
|
|
|
|
[Field ("AVVideoScalingModeKey")]
|
|
NSString ScalingModeKey { get; }
|
|
|
|
[Field ("AVVideoWidthKey")]
|
|
NSString WidthKey { get; }
|
|
|
|
[Field ("AVVideoHeightKey")]
|
|
NSString HeightKey { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (AVPlayerItemOutput))]
|
|
interface AVPlayerItemVideoOutput {
|
|
[Export ("delegate", ArgumentSemantic.Weak), NullAllowed]
|
|
NSObject WeakDelegate { get; }
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
[NullAllowed]
|
|
[Protocolize]
|
|
AVPlayerItemOutputPullDelegate Delegate { get; }
|
|
|
|
[Export ("delegateQueue"), NullAllowed]
|
|
DispatchQueue DelegateQueue { get; }
|
|
|
|
[Internal]
|
|
[Export ("initWithPixelBufferAttributes:")]
|
|
IntPtr _FromPixelBufferAttributes ([NullAllowed] NSDictionary pixelBufferAttributes);
|
|
|
|
[Internal]
|
|
[Export ("initWithOutputSettings:")]
|
|
IntPtr _FromOutputSettings ([NullAllowed] NSDictionary outputSettings);
|
|
|
|
[DesignatedInitializer]
|
|
[Wrap ("this (attributes.GetDictionary (), AVPlayerItemVideoOutput.InitMode.PixelAttributes)")]
|
|
NativeHandle Constructor (CVPixelBufferAttributes attributes);
|
|
|
|
[DesignatedInitializer]
|
|
[iOS (10,0), TV (10,0), Mac (10,12)]
|
|
[Wrap ("this (settings.GetDictionary (), AVPlayerItemVideoOutput.InitMode.OutputSettings)")]
|
|
NativeHandle Constructor (AVPlayerItemVideoOutputSettings settings);
|
|
|
|
[Export ("hasNewPixelBufferForItemTime:")]
|
|
bool HasNewPixelBufferForItemTime (CMTime itemTime);
|
|
|
|
[Protected]
|
|
[Export ("copyPixelBufferForItemTime:itemTimeForDisplay:")]
|
|
IntPtr WeakCopyPixelBuffer (CMTime itemTime, ref CMTime outItemTimeForDisplay);
|
|
|
|
[Export ("setDelegate:queue:")]
|
|
void SetDelegate ([Protocolize] [NullAllowed] AVPlayerItemOutputPullDelegate delegateClass, [NullAllowed] DispatchQueue delegateQueue);
|
|
|
|
[Export ("requestNotificationOfMediaDataChangeWithAdvanceInterval:")]
|
|
void RequestNotificationOfMediaDataChange (double advanceInterval);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVPlayerItemOutputPullDelegate {
|
|
[Export ("outputMediaDataWillChange:")]
|
|
void OutputMediaDataWillChange (AVPlayerItemOutput sender);
|
|
|
|
[Export ("outputSequenceWasFlushed:")]
|
|
void OutputSequenceWasFlushed (AVPlayerItemOutput output);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[iOS (7,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVPlayerItemOutputPushDelegate {
|
|
[Export ("outputSequenceWasFlushed:")]
|
|
void OutputSequenceWasFlushed (AVPlayerItemOutput output);
|
|
}
|
|
|
|
[iOS (7,0), Watch (6,0)]
|
|
[BaseType (typeof (AVPlayerItemOutputPushDelegate))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVPlayerItemLegibleOutputPushDelegate {
|
|
[NoWatch]
|
|
[Export ("legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:")]
|
|
void DidOutputAttributedStrings (AVPlayerItemLegibleOutput output, NSAttributedString [] strings, CMSampleBuffer [] nativeSamples, CMTime itemTime);
|
|
}
|
|
|
|
[iOS (7,0), Mac (10, 9), NoWatch]
|
|
[BaseType (typeof (AVPlayerItemOutput))]
|
|
interface AVPlayerItemLegibleOutput {
|
|
[Export ("initWithMediaSubtypesForNativeRepresentation:")]
|
|
NativeHandle Constructor (NSNumber [] subtypesFourCCcodes);
|
|
|
|
[Export ("setDelegate:queue:")]
|
|
void SetDelegate ([Protocolize][NullAllowed] AVPlayerItemLegibleOutputPushDelegate delegateObject, [NullAllowed] DispatchQueue delegateQueue);
|
|
|
|
[NullAllowed, Export ("delegate", ArgumentSemantic.Copy)]
|
|
[Protocolize]
|
|
AVPlayerItemLegibleOutputPushDelegate Delegate { get; }
|
|
|
|
[NullAllowed, Export ("delegateQueue", ArgumentSemantic.Copy)]
|
|
DispatchQueue DelegateQueue { get; }
|
|
|
|
[Export ("advanceIntervalForDelegateInvocation")]
|
|
double AdvanceIntervalForDelegateInvocation { get; set; }
|
|
|
|
// it defaults to null (7.1) but does not always want to be set back to null, e.g.
|
|
// NSInvalidArgumentException *** -[AVPlayerItemLegibleOutput setTextStylingResolution:] Invalid text styling resolution (null)
|
|
[Export ("textStylingResolution", ArgumentSemantic.Copy)]
|
|
NSString TextStylingResolution { get; set; }
|
|
|
|
[Field ("AVPlayerItemLegibleOutputTextStylingResolutionDefault")]
|
|
NSString TextStylingResolutionDefault { get; }
|
|
|
|
[Field ("AVPlayerItemLegibleOutputTextStylingResolutionSourceAndRulesOnly")]
|
|
NSString TextStylingResolutionSourceAndRulesOnly { get; }
|
|
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayerItemAccessLog : NSCopying {
|
|
|
|
[Export ("events")]
|
|
AVPlayerItemAccessLogEvent [] Events { get; }
|
|
|
|
[Export ("extendedLogDataStringEncoding")]
|
|
NSStringEncoding ExtendedLogDataStringEncoding { get; }
|
|
|
|
[Export ("extendedLogData"), NullAllowed]
|
|
NSData ExtendedLogData { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayerItemErrorLog : NSCopying {
|
|
[Export ("events")]
|
|
AVPlayerItemErrorLogEvent [] Events { get; }
|
|
|
|
[Export ("extendedLogDataStringEncoding")]
|
|
NSStringEncoding ExtendedLogDataStringEncoding { get; }
|
|
|
|
[Export ("extendedLogData"), NullAllowed]
|
|
NSData ExtendedLogData { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayerItemAccessLogEvent : NSCopying {
|
|
[Deprecated (PlatformName.iOS, 7, 0, message : "Use 'NumberOfMediaRequests' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 9, 0, message : "Use 'NumberOfMediaRequests' instead.")]
|
|
[Deprecated (PlatformName.MacOSX, 10, 9, message : "Use 'NumberOfMediaRequests' instead.")]
|
|
[Export ("numberOfSegmentsDownloaded")]
|
|
nint SegmentedDownloadedCount { get; }
|
|
|
|
[Export ("playbackStartDate"), NullAllowed]
|
|
NSData PlaybackStartDate { get; }
|
|
|
|
[Export ("URI"), NullAllowed]
|
|
string Uri { get; }
|
|
|
|
[Export ("serverAddress"), NullAllowed]
|
|
string ServerAddress { get; }
|
|
|
|
[Export ("numberOfServerAddressChanges")]
|
|
nint ServerAddressChangeCount { get; }
|
|
|
|
[Export ("playbackSessionID"), NullAllowed]
|
|
string PlaybackSessionID { get; }
|
|
|
|
[Export ("playbackStartOffset")]
|
|
double PlaybackStartOffset { get; }
|
|
|
|
[Export ("segmentsDownloadedDuration")]
|
|
double SegmentsDownloadedDuration { get; }
|
|
|
|
[Export ("durationWatched")]
|
|
double DurationWatched { get; }
|
|
|
|
[Export ("numberOfStalls")]
|
|
nint StallCount { get; }
|
|
|
|
[Export ("numberOfBytesTransferred")]
|
|
long BytesTransferred { get; }
|
|
|
|
[Export ("observedBitrate")]
|
|
double ObservedBitrate { get; }
|
|
|
|
[iOS (8,0), TV (9,0), Mac (10,10)]
|
|
[Export ("indicatedBitrate")]
|
|
double IndicatedBitrate { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10, 12)]
|
|
[Export ("indicatedAverageBitrate")]
|
|
double IndicatedAverageBitrate { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Export ("averageVideoBitrate")]
|
|
double AverageVideoBitrate { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Export ("averageAudioBitrate")]
|
|
double AverageAudioBitrate { get; }
|
|
|
|
[Export ("numberOfDroppedVideoFrames")]
|
|
nint DroppedVideoFrameCount { get; }
|
|
|
|
[Mac (10, 9)]
|
|
[Export ("numberOfMediaRequests")]
|
|
nint NumberOfMediaRequests { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("startupTime")]
|
|
double StartupTime { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("downloadOverdue")]
|
|
nint DownloadOverdue { get; }
|
|
|
|
[Deprecated (PlatformName.MacOSX, 12, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.iOS, 15, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("observedMaxBitrate")]
|
|
double ObservedMaxBitrate { get; }
|
|
|
|
[Deprecated (PlatformName.MacOSX, 12, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.iOS, 15, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'ObservedBitrateStandardDeviation' instead.")]
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("observedMinBitrate")]
|
|
double ObservedMinBitrate { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("observedBitrateStandardDeviation")]
|
|
double ObservedBitrateStandardDeviation { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("playbackType", ArgumentSemantic.Copy), NullAllowed]
|
|
string PlaybackType { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("mediaRequestsWWAN")]
|
|
nint MediaRequestsWWAN { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("switchBitrate")]
|
|
double SwitchBitrate { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("transferDuration")]
|
|
double TransferDuration { get; }
|
|
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayerItemErrorLogEvent : NSCopying {
|
|
[Export ("date"), NullAllowed]
|
|
NSDate Date { get; }
|
|
|
|
[Export ("URI"), NullAllowed]
|
|
string Uri { get; }
|
|
|
|
[Export ("serverAddress"), NullAllowed]
|
|
string ServerAddress { get; }
|
|
|
|
[Export ("playbackSessionID"), NullAllowed]
|
|
string PlaybackSessionID { get; }
|
|
|
|
[Export ("errorStatusCode")]
|
|
nint ErrorStatusCode { get; }
|
|
|
|
[Export ("errorDomain")]
|
|
string ErrorDomain { get; }
|
|
|
|
[Export ("errorComment"), NullAllowed]
|
|
string ErrorComment { get; }
|
|
}
|
|
|
|
interface IAVPlayerItemMetadataCollectorPushDelegate {}
|
|
|
|
[Watch (6,0)]
|
|
[Protocol, Model]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVPlayerItemMetadataCollectorPushDelegate
|
|
{
|
|
[Abstract]
|
|
[Export ("metadataCollector:didCollectDateRangeMetadataGroups:indexesOfNewGroups:indexesOfModifiedGroups:")]
|
|
void DidCollectDateRange (AVPlayerItemMetadataCollector metadataCollector, AVDateRangeMetadataGroup[] metadataGroups, NSIndexSet indexesOfNewGroups, NSIndexSet indexesOfModifiedGroups);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[iOS (9,3), Mac (10,12)]
|
|
[TV (9,2)]
|
|
[BaseType (typeof(AVPlayerItemMediaDataCollector))]
|
|
interface AVPlayerItemMetadataCollector
|
|
{
|
|
[Export ("initWithIdentifiers:classifyingLabels:")]
|
|
NativeHandle Constructor ([NullAllowed] string[] identifiers, [NullAllowed] string[] classifyingLabels);
|
|
|
|
[Export ("setDelegate:queue:")]
|
|
void SetDelegate ([NullAllowed] IAVPlayerItemMetadataCollectorPushDelegate pushDelegate, [NullAllowed] DispatchQueue delegateQueue);
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
[NullAllowed]
|
|
IAVPlayerItemMetadataCollectorPushDelegate Delegate { get; }
|
|
|
|
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
|
NSObject WeakDelegate { get; }
|
|
|
|
[NullAllowed, Export ("delegateQueue")]
|
|
DispatchQueue DelegateQueue { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (CALayer))]
|
|
interface AVPlayerLayer {
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("player", ArgumentSemantic.Retain)]
|
|
AVPlayer Player { get; set; }
|
|
|
|
[Static, Export ("playerLayerWithPlayer:")]
|
|
AVPlayerLayer FromPlayer ([NullAllowed] AVPlayer player);
|
|
|
|
[Export ("videoGravity", ArgumentSemantic.Copy)][Protected]
|
|
NSString WeakVideoGravity { get; set; }
|
|
|
|
[Field ("AVLayerVideoGravityResizeAspect")]
|
|
NSString GravityResizeAspect { get; }
|
|
|
|
[Field ("AVLayerVideoGravityResizeAspectFill")]
|
|
NSString GravityResizeAspectFill { get; }
|
|
|
|
[Field ("AVLayerVideoGravityResize")]
|
|
NSString GravityResize { get; }
|
|
|
|
[Export ("isReadyForDisplay")]
|
|
bool ReadyForDisplay { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("videoRect")]
|
|
CGRect VideoRect { get; }
|
|
|
|
[iOS (9,0), Mac (10,11)]
|
|
[Export ("pixelBufferAttributes", ArgumentSemantic.Copy), NullAllowed]
|
|
NSDictionary WeakPixelBufferAttributes { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (10,0), TV (10,0), Mac (10,12)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVPlayerLooper
|
|
{
|
|
[Static]
|
|
[Export ("playerLooperWithPlayer:templateItem:timeRange:")]
|
|
AVPlayerLooper FromPlayer (AVQueuePlayer player, AVPlayerItem itemToLoop, CMTimeRange loopRange);
|
|
|
|
[Static]
|
|
[Export ("playerLooperWithPlayer:templateItem:")]
|
|
AVPlayerLooper FromPlayer (AVQueuePlayer player, AVPlayerItem itemToLoop);
|
|
|
|
[Export ("initWithPlayer:templateItem:timeRange:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVQueuePlayer player, AVPlayerItem itemToLoop, CMTimeRange loopRange);
|
|
|
|
[Export ("disableLooping")]
|
|
void DisableLooping ();
|
|
|
|
[Export ("loopCount")]
|
|
nint LoopCount { get; }
|
|
|
|
[Export ("loopingPlayerItems")]
|
|
AVPlayerItem[] LoopingPlayerItems { get; }
|
|
|
|
[Export ("status")]
|
|
AVPlayerLooperStatus Status { get; }
|
|
|
|
[NullAllowed, Export ("error")]
|
|
NSError Error { get; }
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayerItemTrack {
|
|
[Export ("enabled", ArgumentSemantic.Assign)]
|
|
bool Enabled { [Bind ("isEnabled")] get; set; }
|
|
|
|
[NullAllowed, Export ("assetTrack")]
|
|
AVAssetTrack AssetTrack { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Export ("currentVideoFrameRate")]
|
|
float CurrentVideoFrameRate { get; } // defined as 'float'
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[Mac (10,10)]
|
|
[Field ("AVPlayerItemTrackVideoFieldModeDeinterlaceFields")]
|
|
NSString VideoFieldModeDeinterlaceFields { get; }
|
|
|
|
[NoiOS][NoTV][NoWatch]
|
|
[Mac (10,10)]
|
|
[Export ("videoFieldMode"), NullAllowed]
|
|
string VideoFieldMode { get; set; }
|
|
}
|
|
|
|
[iOS (14,5), Mac (11,3), TV (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Flags]
|
|
[Native]
|
|
enum AVPlayerInterstitialEventRestrictions : ulong
|
|
{
|
|
None = 0,
|
|
ConstrainsSeekingForwardInPrimaryContent = (1 << 0),
|
|
RequiresPlaybackAtPreferredRateForAdvancement = (1 << 2),
|
|
DefaultPolicy = None,
|
|
}
|
|
|
|
[TV (14,5), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Watch (7,4)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVPlayerInterstitialEvent
|
|
{
|
|
// Apple changed the API signature ?!?
|
|
// [Static]
|
|
// [Export ("interstitialEventWithPrimaryItem:time:templateItems:restrictions:resumptionOffset:")]
|
|
// AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CMTime resumptionOffset);
|
|
|
|
// Apple changed the API signature ?!?
|
|
// [Static]
|
|
// [Export ("playerInterstitialEventWithPrimaryItem:time:interstitialTemplateItems:restrictions:resumptionOffset:")]
|
|
// AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, CMTime time, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CMTime resumptionOffset);
|
|
|
|
// Apple changed the API signature ?!?
|
|
// [Static]
|
|
// [Export ("interstitialEventWithPrimaryItem:date:templateItems:restrictions:resumptionOffset:")]
|
|
// AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CMTime resumptionOffset);
|
|
|
|
// Apple changed the API signature ?!?
|
|
// [Static]
|
|
// [Export ("playerInterstitialEventWithPrimaryItem:date:interstitialTemplateItems:restrictions:resumptionOffset:")]
|
|
// AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, NSDate date, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CMTime resumptionOffset);
|
|
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), Watch (8,0)]
|
|
[Static]
|
|
[Export ("interstitialEventWithPrimaryItem:identifier:date:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:")]
|
|
AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, [NullAllowed] string identifier, NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CMTime resumptionOffset, CMTime playoutLimit, [NullAllowed] NSDictionary userDefinedAttributes);
|
|
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), Watch (8,0)]
|
|
[Static]
|
|
[Export ("interstitialEventWithPrimaryItem:identifier:time:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:")]
|
|
AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, [NullAllowed] string identifier, CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CMTime resumptionOffset, CMTime playoutLimit, [NullAllowed] NSDictionary userDefinedAttributes);
|
|
|
|
[NullAllowed, Export ("primaryItem", ArgumentSemantic.Weak)]
|
|
AVPlayerItem PrimaryItem { get; }
|
|
|
|
[Export ("time")]
|
|
CMTime Time { get; }
|
|
|
|
[NullAllowed, Export ("date")]
|
|
NSDate Date { get; }
|
|
|
|
[Export ("templateItems")]
|
|
AVPlayerItem[] TemplateItems { get; }
|
|
|
|
[Export ("restrictions")]
|
|
AVPlayerInterstitialEventRestrictions Restrictions { get; }
|
|
|
|
[Export ("resumptionOffset")]
|
|
CMTime ResumptionOffset { get; }
|
|
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), Watch (8,0)]
|
|
[Export ("identifier")]
|
|
string Identifier { get; }
|
|
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), Watch (8,0)]
|
|
[Export ("playoutLimit")]
|
|
CMTime PlayoutLimit { get; }
|
|
|
|
// not a strong dictionary:
|
|
// Storage for attributes defined by the client or the content vendor. Attribute names should begin with X- for uniformity with server insertion.
|
|
[iOS (15,0), TV (15,0), MacCatalyst (15,0), Mac (12,0), Watch (8,0)]
|
|
[Export ("userDefinedAttributes")]
|
|
NSDictionary UserDefinedAttributes { get; }
|
|
}
|
|
|
|
[DisableDefaultCtor]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlayerInterstitialEventMonitor {
|
|
|
|
[Notification]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVPlayerInterstitialEventMonitorEventsDidChangeNotification")]
|
|
NSString EventsDidChangeNotification { get; }
|
|
|
|
[Notification]
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Field ("AVPlayerInterstitialEventMonitorCurrentEventDidChangeNotification")]
|
|
NSString CurrentEventDidChangeNotification { get; }
|
|
|
|
[Static]
|
|
[Export ("interstitialEventMonitorWithPrimaryPlayer:")]
|
|
AVPlayerInterstitialEventMonitor InterstitialEventMonitorWithPrimaryPlayer (AVPlayer primaryPlayer);
|
|
|
|
[Export ("initWithPrimaryPlayer:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVPlayer primaryPlayer);
|
|
|
|
[NullAllowed, Export ("primaryPlayer", ArgumentSemantic.Weak)]
|
|
AVPlayer PrimaryPlayer { get; }
|
|
|
|
[Export ("interstitialPlayer")]
|
|
AVQueuePlayer InterstitialPlayer { get; }
|
|
|
|
[Export ("events")]
|
|
AVPlayerInterstitialEvent[] Events { get; }
|
|
|
|
[NullAllowed, Export ("currentEvent")]
|
|
AVPlayerInterstitialEvent CurrentEvent { get; }
|
|
}
|
|
|
|
[DisableDefaultCtor]
|
|
[TV (14,5), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Watch (7,4)]
|
|
[BaseType (typeof (AVPlayerInterstitialEventMonitor))]
|
|
interface AVPlayerInterstitialEventController
|
|
{
|
|
[Static]
|
|
[Export ("interstitialEventControllerWithPrimaryPlayer:")]
|
|
AVPlayerInterstitialEventController GetInterstitialEventController (AVPlayer primaryPlayer);
|
|
|
|
[Export ("initWithPrimaryPlayer:")]
|
|
NativeHandle Constructor (AVPlayer primaryPlayer);
|
|
|
|
[NullAllowed, Export ("events", ArgumentSemantic.Copy)]
|
|
AVPlayerInterstitialEvent[] Events { get; set; }
|
|
|
|
[Export ("cancelCurrentEventWithResumptionOffset:")]
|
|
void CancelCurrentEvent (CMTime resumptionOffset);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[Model]
|
|
[Protocol]
|
|
interface AVAsynchronousKeyValueLoading {
|
|
[Abstract]
|
|
[Export ("statusOfValueForKey:error:")]
|
|
#if NET
|
|
AVKeyValueStatus GetStatusOfValue (string forKey, out NSError error);
|
|
#else
|
|
AVKeyValueStatus StatusOfValueForKeyerror (string key, [NullAllowed] IntPtr outError);
|
|
#endif
|
|
[Abstract]
|
|
[Export ("loadValuesAsynchronouslyForKeys:completionHandler:")]
|
|
void LoadValuesAsynchronously (string [] keys, [NullAllowed] Action handler);
|
|
}
|
|
|
|
[Watch (6,0)]
|
|
[BaseType (typeof (AVPlayer))]
|
|
interface AVQueuePlayer {
|
|
|
|
[Static, Export ("queuePlayerWithItems:")]
|
|
AVQueuePlayer FromItems (AVPlayerItem [] items);
|
|
|
|
[Export ("initWithItems:")]
|
|
NativeHandle Constructor (AVPlayerItem [] items);
|
|
|
|
[Export ("items")]
|
|
AVPlayerItem [] Items { get; }
|
|
|
|
[Export ("advanceToNextItem")]
|
|
void AdvanceToNextItem ();
|
|
|
|
[Export ("canInsertItem:afterItem:")]
|
|
bool CanInsert (AVPlayerItem item, [NullAllowed] AVPlayerItem afterItem);
|
|
|
|
[Export ("insertItem:afterItem:")]
|
|
void InsertItem (AVPlayerItem item, [NullAllowed] AVPlayerItem afterItem);
|
|
|
|
[Export ("removeItem:")]
|
|
void RemoveItem (AVPlayerItem item);
|
|
|
|
[Export ("removeAllItems")]
|
|
void RemoveAllItems ();
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[Static]
|
|
interface AVAudioSettings {
|
|
[Field ("AVFormatIDKey")]
|
|
NSString AVFormatIDKey { get; }
|
|
|
|
[Field ("AVSampleRateKey")]
|
|
NSString AVSampleRateKey { get; }
|
|
|
|
[Field ("AVNumberOfChannelsKey")]
|
|
NSString AVNumberOfChannelsKey { get; }
|
|
|
|
[Field ("AVLinearPCMBitDepthKey")]
|
|
NSString AVLinearPCMBitDepthKey { get; }
|
|
|
|
[Field ("AVLinearPCMIsBigEndianKey")]
|
|
NSString AVLinearPCMIsBigEndianKey { get; }
|
|
|
|
[Field ("AVLinearPCMIsFloatKey")]
|
|
NSString AVLinearPCMIsFloatKey { get; }
|
|
|
|
[Field ("AVLinearPCMIsNonInterleaved")]
|
|
NSString AVLinearPCMIsNonInterleaved { get; }
|
|
|
|
[Watch (4, 0), TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
|
[Field ("AVAudioFileTypeKey")]
|
|
NSString FileTypeKey { get; }
|
|
|
|
[Field ("AVEncoderAudioQualityKey")]
|
|
NSString AVEncoderAudioQualityKey { get; }
|
|
|
|
[Field ("AVEncoderBitRateKey")]
|
|
NSString AVEncoderBitRateKey { get; }
|
|
|
|
[Field ("AVEncoderBitRatePerChannelKey")]
|
|
NSString AVEncoderBitRatePerChannelKey { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVEncoderBitRateStrategyKey"), Internal]
|
|
NSString AVEncoderBitRateStrategyKey { get; }
|
|
|
|
[Field ("AVSampleRateConverterAlgorithmKey"), Internal]
|
|
NSString AVSampleRateConverterAlgorithmKey { get; }
|
|
|
|
[Field ("AVEncoderBitDepthHintKey")]
|
|
NSString AVEncoderBitDepthHintKey { get; }
|
|
|
|
[Field ("AVSampleRateConverterAudioQualityKey")]
|
|
NSString AVSampleRateConverterAudioQualityKey { get; }
|
|
|
|
[Field ("AVChannelLayoutKey")]
|
|
NSString AVChannelLayoutKey { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVAudioBitRateStrategy_Constant"), Internal]
|
|
NSString _Constant { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVAudioBitRateStrategy_LongTermAverage"), Internal]
|
|
NSString _LongTermAverage { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVAudioBitRateStrategy_VariableConstrained"), Internal]
|
|
NSString _VariableConstrained { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVAudioBitRateStrategy_Variable"), Internal]
|
|
NSString _Variable { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVSampleRateConverterAlgorithm_Normal"), Internal]
|
|
NSString AVSampleRateConverterAlgorithm_Normal { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVSampleRateConverterAlgorithm_Mastering"), Internal]
|
|
NSString AVSampleRateConverterAlgorithm_Mastering { get; }
|
|
|
|
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
|
[Field ("AVSampleRateConverterAlgorithm_MinimumPhase")]
|
|
NSString AVSampleRateConverterAlgorithm_MinimumPhase { get; }
|
|
|
|
[iOS (7,0), Mac (10, 9)]
|
|
[Field ("AVEncoderAudioQualityForVBRKey"), Internal]
|
|
NSString AVEncoderAudioQualityForVBRKey { get; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[TV (10,2), iOS (8,0), Mac (10,10)]
|
|
[BaseType (typeof (CALayer))]
|
|
interface AVSampleBufferDisplayLayer {
|
|
|
|
[NullAllowed]
|
|
[Export ("controlTimebase", ArgumentSemantic.Retain)]
|
|
CMTimebase ControlTimebase { get; set; }
|
|
|
|
[Export ("videoGravity")]
|
|
string VideoGravity { get; set; }
|
|
|
|
[Export ("status")]
|
|
AVQueuedSampleBufferRenderingStatus Status { get; }
|
|
|
|
[Export ("error"), NullAllowed]
|
|
NSError Error { get; }
|
|
|
|
[Export ("readyForMoreMediaData")]
|
|
bool ReadyForMoreMediaData { [Bind ("isReadyForMoreMediaData")] get; }
|
|
|
|
[Export ("enqueueSampleBuffer:")]
|
|
void Enqueue (CMSampleBuffer sampleBuffer);
|
|
|
|
#if !NET
|
|
[Wrap ("Enqueue (sampleBuffer)", IsVirtual = true)]
|
|
[Obsolete ("Use the 'Enqueue' method instead.")]
|
|
void EnqueueSampleBuffer (CMSampleBuffer sampleBuffer);
|
|
#endif
|
|
|
|
[Export ("flush")]
|
|
void Flush ();
|
|
|
|
[Export ("flushAndRemoveImage")]
|
|
void FlushAndRemoveImage ();
|
|
|
|
[Export ("requestMediaDataWhenReadyOnQueue:usingBlock:")]
|
|
void RequestMediaData (DispatchQueue queue, Action handler);
|
|
|
|
#if !NET
|
|
[Wrap ("RequestMediaData (queue, enqueuer)", IsVirtual = true)]
|
|
[Obsolete ("Use the 'RequestMediaData' method instead.")]
|
|
void RequestMediaDataWhenReadyOnQueue (DispatchQueue queue, Action enqueuer);
|
|
#endif
|
|
|
|
[Export ("stopRequestingMediaData")]
|
|
void StopRequestingMediaData ();
|
|
|
|
// TODO: Remove (alongside others) when https://github.com/xamarin/xamarin-macios/issues/3213 is fixed and conformance to 'AVQueuedSampleBufferRendering' is restored.
|
|
[TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Export ("timebase", ArgumentSemantic.Retain)]
|
|
CMTimebase Timebase { get; }
|
|
|
|
[Field ("AVSampleBufferDisplayLayerFailedToDecodeNotification")]
|
|
[Notification]
|
|
NSString FailedToDecodeNotification { get; }
|
|
|
|
[Field ("AVSampleBufferDisplayLayerFailedToDecodeNotificationErrorKey")]
|
|
NSString FailedToDecodeNotificationErrorKey { get; }
|
|
|
|
// AVSampleBufferDisplayLayerImageProtection
|
|
|
|
[TV (12,2), NoWatch, Mac (10,14,4), iOS (12,2)]
|
|
[Export ("preventsCapture")]
|
|
bool PreventsCapture { get; set; }
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Export ("preventsDisplaySleepDuringVideoPlayback")]
|
|
bool PreventsDisplaySleepDuringVideoPlayback { get; set; }
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Export ("requiresFlushToResumeDecoding")]
|
|
bool RequiresFlushToResumeDecoding { get; }
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[Field ("AVSampleBufferDisplayLayerRequiresFlushToResumeDecodingDidChangeNotification")]
|
|
[Notification]
|
|
NSString RequiresFlushToResumeDecodingDidChangeNotification { get; }
|
|
|
|
[TV (14, 5), Watch (7, 4), Mac (11, 3), iOS (14, 5)]
|
|
[MacCatalyst (14,5)]
|
|
[Field ("AVSampleBufferDisplayLayerOutputObscuredDueToInsufficientExternalProtectionDidChangeNotification")]
|
|
[Notification]
|
|
NSString OutputObscuredDueToInsufficientExternalProtectionDidChangeNotification { get; }
|
|
|
|
}
|
|
|
|
[NoWatch]
|
|
[TV (14, 5), Mac (11, 3), iOS (14, 5)]
|
|
[Category]
|
|
[BaseType (typeof(AVSampleBufferDisplayLayer))]
|
|
interface AVSampleBufferDisplayLayer_ProtectedContent
|
|
{
|
|
[Export ("outputObscuredDueToInsufficientExternalProtection")]
|
|
bool GetOutputObscuredDueToInsufficientExternalProtection ();
|
|
}
|
|
|
|
[NoWatch]
|
|
[BaseType (typeof (CALayer))]
|
|
interface AVSynchronizedLayer {
|
|
[Static, Export ("synchronizedLayerWithPlayerItem:")]
|
|
AVSynchronizedLayer FromPlayerItem (AVPlayerItem playerItem);
|
|
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("playerItem", ArgumentSemantic.Retain)]
|
|
AVPlayerItem PlayerItem { get; set; }
|
|
}
|
|
|
|
[Mac (10,15)]
|
|
[Watch (3,0)]
|
|
[iOS (7,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVSpeechSynthesisVoice : NSSecureCoding {
|
|
|
|
[Static, Export ("speechVoices")]
|
|
AVSpeechSynthesisVoice [] GetSpeechVoices ();
|
|
|
|
[Static, Export ("currentLanguageCode")]
|
|
string CurrentLanguageCode { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Static, Export ("voiceWithLanguage:")]
|
|
AVSpeechSynthesisVoice FromLanguage ([NullAllowed] string language);
|
|
|
|
[iOS (9,0)]
|
|
[return: NullAllowed]
|
|
[Static, Export ("voiceWithIdentifier:")]
|
|
AVSpeechSynthesisVoice FromIdentifier (string identifier);
|
|
|
|
[Export ("language", ArgumentSemantic.Copy)]
|
|
string Language { get; }
|
|
|
|
[iOS (9,0)]
|
|
[Export ("identifier")]
|
|
string Identifier { get; }
|
|
|
|
[iOS (9,0)]
|
|
[Export ("name")]
|
|
string Name { get; }
|
|
|
|
[iOS (9,0)]
|
|
[Export ("quality")]
|
|
AVSpeechSynthesisVoiceQuality Quality { get; }
|
|
|
|
[iOS (9,0)]
|
|
[Field ("AVSpeechSynthesisVoiceIdentifierAlex")]
|
|
NSString IdentifierAlex { get; }
|
|
|
|
[iOS (10, 0), TV (10,0)]
|
|
[Field ("AVSpeechSynthesisIPANotationAttribute")]
|
|
NSString IpaNotationAttribute { get; }
|
|
|
|
[Watch (6,0), TV (13,0), iOS (13,0)]
|
|
[Export ("gender")]
|
|
AVSpeechSynthesisVoiceGender Gender { get; }
|
|
|
|
[Watch (6,0), TV (13,0), iOS (13,0)]
|
|
[Export ("audioFileSettings")]
|
|
NSDictionary<NSString, NSObject> AudioFileSettings { get; }
|
|
}
|
|
|
|
[Mac (10,15)]
|
|
[Watch (3,0)]
|
|
[iOS (7,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVSpeechUtterance : NSCopying, NSSecureCoding {
|
|
|
|
[Static, Export ("speechUtteranceWithString:")]
|
|
AVSpeechUtterance FromString (string speechString);
|
|
|
|
[iOS (10,0)]
|
|
[TV (10,0)]
|
|
[Static]
|
|
[Export ("speechUtteranceWithAttributedString:")]
|
|
AVSpeechUtterance FromString (NSAttributedString speechString);
|
|
|
|
[Export ("initWithString:")]
|
|
NativeHandle Constructor (string speechString);
|
|
|
|
[iOS (10,0)]
|
|
[TV (10,0)]
|
|
[Export ("initWithAttributedString:")]
|
|
NativeHandle Constructor (NSAttributedString speechString);
|
|
|
|
[NullAllowed] // by default this property is null
|
|
[Export ("voice", ArgumentSemantic.Retain)]
|
|
AVSpeechSynthesisVoice Voice { get; set; }
|
|
|
|
[Export ("speechString", ArgumentSemantic.Copy)]
|
|
string SpeechString { get; }
|
|
|
|
[iOS (10, 0)]
|
|
[TV (10,0)]
|
|
[Export ("attributedSpeechString")]
|
|
NSAttributedString AttributedSpeechString { get; }
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; } // defined as 'float'
|
|
|
|
[Export ("pitchMultiplier")]
|
|
float PitchMultiplier { get; set; } // defined as 'float'
|
|
|
|
[Export ("volume")]
|
|
float Volume { get; set; } // defined as 'float'
|
|
|
|
[Export ("preUtteranceDelay")]
|
|
double PreUtteranceDelay { get; set; }
|
|
|
|
[Export ("postUtteranceDelay")]
|
|
double PostUtteranceDelay { get; set; }
|
|
|
|
[Field ("AVSpeechUtteranceMinimumSpeechRate")]
|
|
float MinimumSpeechRate { get; } // defined as 'float'
|
|
|
|
[Field ("AVSpeechUtteranceMaximumSpeechRate")]
|
|
float MaximumSpeechRate { get; } // defined as 'float'
|
|
|
|
[Field ("AVSpeechUtteranceDefaultSpeechRate")]
|
|
float DefaultSpeechRate { get; } // defined as 'float'
|
|
|
|
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
|
[Export ("prefersAssistiveTechnologySettings")]
|
|
bool PrefersAssistiveTechnologySettings { get; set; }
|
|
}
|
|
|
|
[Mac (10,15)]
|
|
[Watch (3,0)]
|
|
[iOS (7,0)]
|
|
[BaseType (typeof (NSObject), Delegates=new string [] {"WeakDelegate"}, Events=new Type [] { typeof (AVSpeechSynthesizerDelegate)})]
|
|
interface AVSpeechSynthesizer {
|
|
|
|
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
|
|
NSObject WeakDelegate { get; set; }
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
[NullAllowed]
|
|
[Protocolize]
|
|
AVSpeechSynthesizerDelegate Delegate { get; set; }
|
|
|
|
[Export ("speaking")]
|
|
bool Speaking { [Bind ("isSpeaking")] get; }
|
|
|
|
[Export ("paused")]
|
|
bool Paused { [Bind ("isPaused")] get; }
|
|
|
|
[Watch (6,0), TV (13,0), Mac (12,0), iOS (13,0), MacCatalyst (15,0)]
|
|
[Export ("usesApplicationAudioSession")]
|
|
bool UsesApplicationAudioSession { get; set; }
|
|
|
|
[Watch (6,0), NoTV, NoMac, iOS (13,0)]
|
|
[Export ("mixToTelephonyUplink")]
|
|
bool MixToTelephonyUplink { get; set; }
|
|
|
|
[Export ("speakUtterance:")]
|
|
void SpeakUtterance (AVSpeechUtterance utterance);
|
|
|
|
[Async]
|
|
[Watch (6,0), TV (13,0), iOS (13,0)]
|
|
[Export ("writeUtterance:toBufferCallback:")]
|
|
void WriteUtterance (AVSpeechUtterance utterance, Action<AVAudioBuffer> bufferCallback);
|
|
|
|
[Export ("stopSpeakingAtBoundary:")]
|
|
bool StopSpeaking (AVSpeechBoundary boundary);
|
|
|
|
[Export ("pauseSpeakingAtBoundary:")]
|
|
bool PauseSpeaking (AVSpeechBoundary boundary);
|
|
|
|
[Export ("continueSpeaking")]
|
|
bool ContinueSpeaking ();
|
|
|
|
[NoMac]
|
|
[iOS (10, 0)]
|
|
[TV (10,0)]
|
|
[NullAllowed, Export ("outputChannels", ArgumentSemantic.Retain)]
|
|
AVAudioSessionChannelDescription[] OutputChannels { get; set; }
|
|
}
|
|
|
|
[Mac (10,15)]
|
|
[Watch (3,0)]
|
|
[Model]
|
|
[BaseType (typeof (NSObject))]
|
|
[Protocol]
|
|
interface AVSpeechSynthesizerDelegate {
|
|
[Export ("speechSynthesizer:didStartSpeechUtterance:")][EventArgs ("AVSpeechSynthesizerUterance")]
|
|
void DidStartSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
|
|
|
|
[Export ("speechSynthesizer:didFinishSpeechUtterance:")][EventArgs ("AVSpeechSynthesizerUterance")]
|
|
void DidFinishSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
|
|
|
|
[Export ("speechSynthesizer:didPauseSpeechUtterance:")][EventArgs ("AVSpeechSynthesizerUterance")]
|
|
void DidPauseSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
|
|
|
|
[Export ("speechSynthesizer:didContinueSpeechUtterance:")][EventArgs ("AVSpeechSynthesizerUterance")]
|
|
void DidContinueSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
|
|
|
|
[Export ("speechSynthesizer:didCancelSpeechUtterance:")][EventArgs ("AVSpeechSynthesizerUterance")]
|
|
void DidCancelSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance);
|
|
|
|
[Export ("speechSynthesizer:willSpeakRangeOfSpeechString:utterance:")][EventArgs ("AVSpeechSynthesizerWillSpeak")]
|
|
void WillSpeakRangeOfSpeechString (AVSpeechSynthesizer synthesizer, NSRange characterRange, AVSpeechUtterance utterance);
|
|
}
|
|
|
|
[NoWatch, NoTV, Mac (12,0), iOS (11,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetDownloadStorageManager
|
|
{
|
|
[Static]
|
|
[Export ("sharedDownloadStorageManager")]
|
|
AVAssetDownloadStorageManager SharedDownloadStorageManager { get; }
|
|
|
|
[Export ("setStorageManagementPolicy:forURL:")]
|
|
void SetStorageManagementPolicy (AVAssetDownloadStorageManagementPolicy storageManagementPolicy, NSUrl downloadStorageUrl);
|
|
|
|
[Export ("storageManagementPolicyForURL:")]
|
|
[return: NullAllowed]
|
|
AVAssetDownloadStorageManagementPolicy GetStorageManagementPolicy (NSUrl downloadStorageUrl);
|
|
}
|
|
|
|
[NoWatch, NoTV, Mac (12,0), iOS (11,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetDownloadStorageManagementPolicy : NSCopying, NSMutableCopying
|
|
{
|
|
[Internal]
|
|
[Export ("priority")]
|
|
NSString _Priority { get; [NotImplemented] set; }
|
|
|
|
[Export ("expirationDate", ArgumentSemantic.Copy)]
|
|
NSDate ExpirationDate { get; [NotImplemented] set; }
|
|
}
|
|
|
|
[NoWatch, NoTV, Mac (12,0), iOS (11,0)]
|
|
[BaseType (typeof(AVAssetDownloadStorageManagementPolicy))]
|
|
[DisableDefaultCtor]
|
|
interface AVMutableAssetDownloadStorageManagementPolicy
|
|
{
|
|
[Internal]
|
|
[Export ("priority")]
|
|
NSString _Priority { get; set; }
|
|
|
|
[Export ("expirationDate", ArgumentSemantic.Copy)]
|
|
NSDate ExpirationDate { get; set; }
|
|
}
|
|
|
|
[NoWatch]
|
|
[NoTV]
|
|
[iOS (9,0), Mac (12,0)]
|
|
[BaseType (typeof (NSUrlSessionTask))]
|
|
[DisableDefaultCtor] // not meant to be user createable
|
|
interface AVAssetDownloadTask {
|
|
|
|
[Export ("URLAsset")]
|
|
AVUrlAsset UrlAsset { get; }
|
|
|
|
[Deprecated (PlatformName.iOS, 10, 0)]
|
|
[NoMacCatalyst, NoMac]
|
|
[Export ("destinationURL")]
|
|
NSUrl DestinationUrl { get; }
|
|
|
|
[NullAllowed, Export ("options")]
|
|
NSDictionary<NSString, NSObject> Options { get; }
|
|
|
|
[Export ("loadedTimeRanges")]
|
|
NSValue[] LoadedTimeRanges { get; }
|
|
|
|
}
|
|
|
|
[Mac (12,0), NoWatch, NoTV, iOS (11,0)]
|
|
[BaseType (typeof(NSUrlSessionTask))]
|
|
[DisableDefaultCtor]
|
|
interface AVAggregateAssetDownloadTask
|
|
{
|
|
[Export ("URLAsset")]
|
|
AVUrlAsset UrlAsset { get; }
|
|
}
|
|
|
|
[NoWatch, Mac (11,3)]
|
|
#if NET
|
|
[NoTV]
|
|
#else
|
|
[Obsoleted (PlatformName.TvOS, 12, 0)]
|
|
#endif
|
|
[Static, Internal]
|
|
interface AVAssetDownloadTaskKeys {
|
|
[iOS (9,0), Mac (12,0)]
|
|
[Field ("AVAssetDownloadTaskMinimumRequiredMediaBitrateKey")]
|
|
NSString MinimumRequiredMediaBitrateKey { get; }
|
|
|
|
[iOS (9,0), Mac (12,0)]
|
|
[Field ("AVAssetDownloadTaskMediaSelectionKey")]
|
|
NSString MediaSelectionKey { get; }
|
|
|
|
[NoWatch, NoTV, iOS (13,0), Mac (12,0)]
|
|
[Field ("AVAssetDownloadTaskMediaSelectionPrefersMultichannelKey")]
|
|
NSString MediaSelectionPrefersMultichannelKey { get; }
|
|
|
|
[NoWatch, NoTV, iOS (14, 0), Mac (12,0)]
|
|
[Field ("AVAssetDownloadTaskPrefersHDRKey")]
|
|
NSString PrefersHdrKey { get; }
|
|
|
|
[NoWatch, NoTV, Mac (11,3), iOS (14, 5)]
|
|
[MacCatalyst (14,5)]
|
|
[Field ("AVAssetDownloadTaskPrefersLosslessAudioKey")]
|
|
NSString PrefersLosslessAudioKey { get; }
|
|
|
|
[NoWatch, NoTV, iOS (14, 0), Mac (12,0)]
|
|
[Field ("AVAssetDownloadTaskMinimumRequiredPresentationSizeKey")]
|
|
NSString MinimumRequiredPresentationSizeKey { get; }
|
|
}
|
|
|
|
[Mac (12,0)]
|
|
[NoWatch]
|
|
#if NET
|
|
[NoTV]
|
|
#else
|
|
[Obsoleted (PlatformName.TvOS, 12, 0)]
|
|
#endif
|
|
[StrongDictionary ("AVAssetDownloadTaskKeys")]
|
|
interface AVAssetDownloadOptions {
|
|
NSNumber MinimumRequiredMediaBitrate { get; set; }
|
|
AVMediaSelection MediaSelection { get; set; }
|
|
[NoWatch, NoTV, iOS (13,0)]
|
|
bool MediaSelectionPrefersMultichannel { get; set;}
|
|
[NoWatch, NoTV, iOS (14, 0)]
|
|
bool PrefersHdr { get; set; }
|
|
[NoWatch, NoTV, iOS (14, 0)]
|
|
CGSize MinimumRequiredPresentationSize { get; set; }
|
|
}
|
|
|
|
[NoTV]
|
|
[NoWatch]
|
|
[iOS (9,0), Mac (12,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (NSUrlSession), Name = "AVAssetDownloadURLSession")]
|
|
interface AVAssetDownloadUrlSession {
|
|
[Static]
|
|
[return: ForcedType]
|
|
[Export ("sessionWithConfiguration:assetDownloadDelegate:delegateQueue:")]
|
|
AVAssetDownloadUrlSession CreateSession (NSUrlSessionConfiguration configuration, [NullAllowed] IAVAssetDownloadDelegate @delegate, [NullAllowed] NSOperationQueue delegateQueue);
|
|
|
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Please use 'GetAssetDownloadTask (AVUrlAsset, string, NSData, NSDictionary<NSString, NSObject>)'.")]
|
|
[Export ("assetDownloadTaskWithURLAsset:destinationURL:options:")]
|
|
[return: NullAllowed]
|
|
AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, NSUrl destinationUrl, [NullAllowed] NSDictionary options);
|
|
|
|
[Wrap ("GetAssetDownloadTask (urlAsset, destinationUrl, options.GetDictionary ())")]
|
|
[return: NullAllowed]
|
|
AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, NSUrl destinationUrl, AVAssetDownloadOptions options);
|
|
|
|
[iOS (10,0)]
|
|
[Export ("assetDownloadTaskWithURLAsset:assetTitle:assetArtworkData:options:")]
|
|
[return: NullAllowed]
|
|
AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, string title, [NullAllowed] NSData artworkData, [NullAllowed] NSDictionary options);
|
|
|
|
[iOS (10,0)]
|
|
[Wrap ("GetAssetDownloadTask (urlAsset, title, artworkData, options.GetDictionary ())")]
|
|
[return: NullAllowed]
|
|
AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, string title, [NullAllowed] NSData artworkData, AVAssetDownloadOptions options);
|
|
|
|
[Mac (12,0), NoWatch, iOS (11,0)]
|
|
[Export ("aggregateAssetDownloadTaskWithURLAsset:mediaSelections:assetTitle:assetArtworkData:options:")]
|
|
[return: NullAllowed]
|
|
AVAggregateAssetDownloadTask GetAssetDownloadTask (AVUrlAsset URLAsset, AVMediaSelection[] mediaSelections, string title, [NullAllowed] NSData artworkData, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Watch (8,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[Export ("assetDownloadTaskWithConfiguration:")]
|
|
AVAssetDownloadTask GetAssetDownloadTask (AVAssetDownloadConfiguration downloadConfiguration);
|
|
}
|
|
|
|
interface IAVAssetDownloadDelegate {}
|
|
|
|
[NoTV]
|
|
[NoWatch]
|
|
[iOS (9,0), Mac (12,0), MacCatalyst (15,0)]
|
|
[Protocol, Model]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAssetDownloadDelegate : NSUrlSessionTaskDelegate {
|
|
[Export ("URLSession:assetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:")]
|
|
void DidLoadTimeRange (NSUrlSession session, AVAssetDownloadTask assetDownloadTask, CMTimeRange timeRange, NSValue[] loadedTimeRanges, CMTimeRange timeRangeExpectedToLoad);
|
|
|
|
[Export ("URLSession:assetDownloadTask:didResolveMediaSelection:")]
|
|
void DidResolveMediaSelection (NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVMediaSelection resolvedMediaSelection);
|
|
|
|
[iOS (10,0)]
|
|
[Export ("URLSession:assetDownloadTask:didFinishDownloadingToURL:")]
|
|
void DidFinishDownloadingToUrl (NSUrlSession session, AVAssetDownloadTask assetDownloadTask, NSUrl location);
|
|
|
|
[iOS (11,0)]
|
|
[Export ("URLSession:aggregateAssetDownloadTask:willDownloadToURL:")]
|
|
void WillDownloadToUrl (NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, NSUrl location);
|
|
|
|
[iOS (11,0)]
|
|
[Export ("URLSession:aggregateAssetDownloadTask:didCompleteForMediaSelection:")]
|
|
void DidCompleteForMediaSelection (NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, AVMediaSelection mediaSelection);
|
|
|
|
[iOS (11,0)]
|
|
[Export ("URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection:")]
|
|
void DidLoadTimeRange (NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, CMTimeRange timeRange, NSValue[] loadedTimeRanges, CMTimeRange timeRangeExpectedToLoad, AVMediaSelection mediaSelection);
|
|
|
|
[iOS (15,0)]
|
|
[Export ("URLSession:assetDownloadTask:willDownloadVariants:")]
|
|
void WillDownloadVariants (NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVAssetVariant[] variants);
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (7,0)][Mac (10,9)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVOutputSettingsAssistant {
|
|
[Mac (10, 10)]
|
|
[Static, Export ("availableOutputSettingsPresets")]
|
|
string [] AvailableOutputSettingsPresets { get; }
|
|
|
|
[return: NullAllowed]
|
|
[Static, Export ("outputSettingsAssistantWithPreset:")]
|
|
AVOutputSettingsAssistant FromPreset (string presetIdentifier);
|
|
|
|
[Export ("audioSettings", ArgumentSemantic.Copy), NullAllowed]
|
|
NSDictionary WeakAudioSettings { get; }
|
|
|
|
[Wrap ("WeakAudioSettings")]
|
|
[NullAllowed]
|
|
AudioSettings AudioSettings { get; }
|
|
|
|
[Export ("videoSettings", ArgumentSemantic.Copy), NullAllowed]
|
|
NSDictionary WeakVideoSettings { get; }
|
|
|
|
[Wrap ("WeakVideoSettings")]
|
|
AVVideoSettingsCompressed CompressedVideoSettings { get; }
|
|
|
|
[Wrap ("WeakVideoSettings")]
|
|
AVVideoSettingsUncompressed UnCompressedVideoSettings { get; }
|
|
|
|
[Export ("outputFileType", ArgumentSemantic.Copy)]
|
|
string OutputFileType { get; }
|
|
|
|
[Export ("sourceAudioFormat", ArgumentSemantic.Copy)]
|
|
[NullAllowed]
|
|
CMAudioFormatDescription SourceAudioFormat { get; set; }
|
|
|
|
[Export ("sourceVideoFormat", ArgumentSemantic.Copy)]
|
|
[NullAllowed]
|
|
CMVideoFormatDescription SourceVideoFormat { get; set; }
|
|
|
|
[Export ("sourceVideoAverageFrameDuration", ArgumentSemantic.Copy)]
|
|
CMTime SourceVideoAverageFrameDuration { get; set; }
|
|
|
|
[Mac (10, 10)]
|
|
[Export ("sourceVideoMinFrameDuration", ArgumentSemantic.Copy)]
|
|
CMTime SourceVideoMinFrameDuration { get; set; }
|
|
|
|
[Internal, Field ("AVOutputSettingsPreset640x480")]
|
|
NSString _Preset640x480 { get; }
|
|
|
|
[Internal, Field ("AVOutputSettingsPreset960x540")]
|
|
NSString _Preset960x540 { get; }
|
|
|
|
[Internal, Field ("AVOutputSettingsPreset1280x720")]
|
|
NSString _Preset1280x720 { get; }
|
|
|
|
[Internal, Field ("AVOutputSettingsPreset1920x1080")]
|
|
NSString _Preset1920x1080 { get; }
|
|
|
|
[iOS (9,0), Mac (10,10)]
|
|
[Internal, Field ("AVOutputSettingsPreset3840x2160")]
|
|
NSString _Preset3840x2160 { get; }
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Internal, Field ("AVOutputSettingsPresetHEVC1920x1080")]
|
|
NSString _PresetHevc1920x1080 { get; }
|
|
|
|
[iOS (11, 0), Mac (10, 13)]
|
|
[TV (11, 0)]
|
|
[Internal, Field ("AVOutputSettingsPresetHEVC3840x2160")]
|
|
NSString _PresetHevc3840x2160 { get; }
|
|
}
|
|
|
|
[iOS (9,0)][Mac (10,11)][Watch (6,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVMediaSelection : NSCopying, NSMutableCopying {
|
|
|
|
[NullAllowed, Export ("asset", ArgumentSemantic.Weak)]
|
|
AVAsset Asset { get; }
|
|
|
|
[Export ("selectedMediaOptionInMediaSelectionGroup:")]
|
|
[return: NullAllowed]
|
|
AVMediaSelectionOption GetSelectedMediaOption (AVMediaSelectionGroup mediaSelectionGroup);
|
|
|
|
[Export ("mediaSelectionCriteriaCanBeAppliedAutomaticallyToMediaSelectionGroup:")]
|
|
bool CriteriaCanBeAppliedAutomaticallyToMediaSelectionGroup (AVMediaSelectionGroup mediaSelectionGroup);
|
|
}
|
|
|
|
[iOS (9,0), Mac (10,11)][Watch (6,0)]
|
|
[BaseType (typeof (AVMediaSelection))]
|
|
interface AVMutableMediaSelection {
|
|
|
|
[Export ("selectMediaOption:inMediaSelectionGroup:")]
|
|
void SelectMediaOption ([NullAllowed] AVMediaSelectionOption mediaSelectionOption, AVMediaSelectionGroup mediaSelectionGroup);
|
|
}
|
|
|
|
[NoWatch, iOS (9,0)][Mac (10,11)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAudioSequencer {
|
|
|
|
[Export ("initWithAudioEngine:")]
|
|
NativeHandle Constructor (AVAudioEngine engine);
|
|
|
|
[Export ("loadFromURL:options:error:")]
|
|
bool Load (NSUrl fileUrl, AVMusicSequenceLoadOptions options, out NSError outError);
|
|
|
|
[Export ("loadFromData:options:error:")]
|
|
bool Load (NSData data, AVMusicSequenceLoadOptions options, out NSError outError);
|
|
|
|
[Export ("writeToURL:SMPTEResolution:replaceExisting:error:")]
|
|
bool Write (NSUrl fileUrl, nint resolution, bool replace, out NSError outError);
|
|
|
|
[Export ("dataWithSMPTEResolution:error:")]
|
|
NSData GetData (nint smpteResolution, out NSError outError);
|
|
|
|
[Export ("secondsForBeats:")]
|
|
double GetSeconds (double beats);
|
|
|
|
[Export ("beatsForSeconds:")]
|
|
double GetBeats (double seconds);
|
|
|
|
[Export ("tracks")]
|
|
AVMusicTrack[] Tracks { get; }
|
|
|
|
[Export ("tempoTrack")]
|
|
AVMusicTrack TempoTrack { get; }
|
|
|
|
[Export ("userInfo")]
|
|
NSDictionary<NSString, NSObject> UserInfo { get; }
|
|
|
|
// AVAudioSequencer_Player Category
|
|
// Inlined due to properties
|
|
|
|
[Export ("currentPositionInSeconds")]
|
|
double CurrentPositionInSeconds { get; set; }
|
|
|
|
[Export ("currentPositionInBeats")]
|
|
double CurrentPositionInBeats { get; set; }
|
|
|
|
[Export ("playing")]
|
|
bool Playing { [Bind ("isPlaying")] get; }
|
|
|
|
[Export ("rate")]
|
|
float Rate { get; set; }
|
|
|
|
[Export ("hostTimeForBeats:error:")]
|
|
ulong GetHostTime (double inBeats, out NSError outError);
|
|
|
|
[Export ("beatsForHostTime:error:")]
|
|
double GetBeats (ulong inHostTime, out NSError outError);
|
|
|
|
[Export ("prepareToPlay")]
|
|
void PrepareToPlay ();
|
|
|
|
[Export ("startAndReturnError:")]
|
|
bool Start (out NSError outError);
|
|
|
|
[Export ("stop")]
|
|
void Stop ();
|
|
}
|
|
|
|
[NoWatch, iOS (9,0)][Mac (10,11)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // Docs/headers do not state that init is disallowed but if
|
|
// you get an instance that way and try to use it, it will inmediatelly crash also tested in ObjC app same result
|
|
interface AVMusicTrack {
|
|
|
|
[NullAllowed, Export ("destinationAudioUnit", ArgumentSemantic.Retain)]
|
|
AVAudioUnit DestinationAudioUnit { get; set; }
|
|
|
|
[NoTV]
|
|
[Export ("destinationMIDIEndpoint")]
|
|
uint DestinationMidiEndpoint { get; set; }
|
|
|
|
[Export ("loopRange", ArgumentSemantic.Assign)]
|
|
AVBeatRange LoopRange { get; set; }
|
|
|
|
[Export ("loopingEnabled")]
|
|
bool LoopingEnabled { [Bind ("isLoopingEnabled")] get; set; }
|
|
|
|
[Export ("numberOfLoops", ArgumentSemantic.Assign)]
|
|
nint NumberOfLoops { get; set; }
|
|
|
|
[Export ("offsetTime")]
|
|
double OffsetTime { get; set; }
|
|
|
|
[Export ("muted")]
|
|
bool Muted { [Bind ("isMuted")] get; set; }
|
|
|
|
[Export ("soloed")]
|
|
bool Soloed { [Bind ("isSoloed")] get; set; }
|
|
|
|
[Export ("lengthInBeats")]
|
|
double LengthInBeats { get; set; }
|
|
|
|
[Export ("lengthInSeconds")]
|
|
double LengthInSeconds { get; set; }
|
|
|
|
[Export ("timeResolution")]
|
|
nuint TimeResolution { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[iOS (9,0)][Mac (10,11)]
|
|
[Static]
|
|
interface AVAudioUnitType {
|
|
|
|
[Field ("AVAudioUnitTypeOutput")]
|
|
NSString Output { get; }
|
|
|
|
[Field ("AVAudioUnitTypeMusicDevice")]
|
|
NSString MusicDevice { get; }
|
|
|
|
[Field ("AVAudioUnitTypeMusicEffect")]
|
|
NSString MusicEffect { get; }
|
|
|
|
[Field ("AVAudioUnitTypeFormatConverter")]
|
|
NSString FormatConverter { get; }
|
|
|
|
[Field ("AVAudioUnitTypeEffect")]
|
|
NSString Effect { get; }
|
|
|
|
[Field ("AVAudioUnitTypeMixer")]
|
|
NSString Mixer { get; }
|
|
|
|
[Field ("AVAudioUnitTypePanner")]
|
|
NSString Panner { get; }
|
|
|
|
[Field ("AVAudioUnitTypeGenerator")]
|
|
NSString Generator { get; }
|
|
|
|
[Field ("AVAudioUnitTypeOfflineEffect")]
|
|
NSString OfflineEffect { get; }
|
|
|
|
[Field ("AVAudioUnitTypeMIDIProcessor")]
|
|
NSString MidiProcessor { get; }
|
|
}
|
|
|
|
[NoWatch, iOS (9,0)][Mac (10,10)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVAudioUnitComponent {
|
|
|
|
[Export ("name")]
|
|
string Name { get; }
|
|
|
|
[Export ("typeName")]
|
|
string TypeName { get; }
|
|
|
|
[Export ("localizedTypeName")]
|
|
string LocalizedTypeName { get; }
|
|
|
|
[Export ("manufacturerName")]
|
|
string ManufacturerName { get; }
|
|
|
|
[Export ("version")]
|
|
nuint Version { get; }
|
|
|
|
[Export ("versionString")]
|
|
string VersionString { get; }
|
|
|
|
[Export ("sandboxSafe")]
|
|
bool SandboxSafe { [Bind ("isSandboxSafe")] get; }
|
|
|
|
[Export ("hasMIDIInput")]
|
|
bool HasMidiInput { get; }
|
|
|
|
[Export ("hasMIDIOutput")]
|
|
bool HasMidiOutput { get; }
|
|
|
|
[Export ("audioComponent")]
|
|
AudioComponent AudioComponent { get; }
|
|
|
|
[MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[Export ("availableArchitectures")]
|
|
NSNumber[] AvailableArchitectures { get; }
|
|
|
|
[MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[Export ("userTagNames", ArgumentSemantic.Copy)]
|
|
string[] UserTagNames { get; set; }
|
|
|
|
[MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[NullAllowed, Export ("iconURL")]
|
|
NSUrl IconUrl { get; }
|
|
|
|
[Mac (10,11), MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[NullAllowed, Export ("icon")]
|
|
UIImage Icon { get; }
|
|
|
|
[MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[Export ("passesAUVal")]
|
|
bool PassesAUVal { get; }
|
|
|
|
[MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[Export ("hasCustomView")]
|
|
bool HasCustomView { get; }
|
|
|
|
[MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[Export ("configurationDictionary")]
|
|
NSDictionary WeakConfigurationDictionary { get; }
|
|
|
|
[MacCatalyst (15,0), NoiOS, NoTV, NoWatch]
|
|
[Export ("supportsNumberInputChannels:outputChannels:")]
|
|
bool SupportsNumberInputChannels (nint numInputChannels, nint numOutputChannels);
|
|
|
|
[Export ("allTagNames")]
|
|
string[] AllTagNames { get; }
|
|
|
|
[Export ("audioComponentDescription")]
|
|
AudioComponentDescription AudioComponentDescription { get; }
|
|
|
|
[Field ("AVAudioUnitComponentTagsDidChangeNotification")]
|
|
[Notification]
|
|
NSString TagsDidChangeNotification { get; }
|
|
}
|
|
|
|
delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
|
|
|
|
[NoWatch, iOS (9,0), Mac (10,10)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor] // for binary compatibility this is added in AVCompat.cs w/[Obsolete]
|
|
interface AVAudioUnitComponentManager {
|
|
|
|
[Export ("tagNames")]
|
|
string[] TagNames { get; }
|
|
|
|
[Export ("standardLocalizedTagNames")]
|
|
string[] StandardLocalizedTagNames { get; }
|
|
|
|
[Static]
|
|
[Export ("sharedAudioUnitComponentManager")]
|
|
AVAudioUnitComponentManager SharedInstance { get; }
|
|
|
|
[Export ("componentsMatchingPredicate:")]
|
|
AVAudioUnitComponent[] GetComponents (NSPredicate predicate);
|
|
|
|
[Export ("componentsPassingTest:")]
|
|
AVAudioUnitComponent[] GetComponents (AVAudioUnitComponentFilter testHandler);
|
|
|
|
[Export ("componentsMatchingDescription:")]
|
|
AVAudioUnitComponent[] GetComponents (AudioComponentDescription desc);
|
|
|
|
[Notification]
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[Field ("AVAudioUnitComponentManagerRegistrationsChangedNotification")]
|
|
NSString RegistrationsChangedNotification { get; }
|
|
}
|
|
|
|
[Watch (3,0)]
|
|
[Static]
|
|
interface AVAudioUnitManufacturerName {
|
|
[Field ("AVAudioUnitManufacturerNameApple")]
|
|
[Mac (10,10), iOS (9,0)]
|
|
NSString Apple { get; }
|
|
}
|
|
|
|
// FIXME: Unsure about if CMMetadataFormatDescription will be an INativeObject and will need manual binding for Classic
|
|
[NoMac]
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch]
|
|
[NoTV]
|
|
[iOS (9,0)]
|
|
[BaseType (typeof(AVCaptureInput))]
|
|
[DisableDefaultCtor] // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: Format description is required.
|
|
interface AVCaptureMetadataInput {
|
|
|
|
[Internal]
|
|
[Static]
|
|
[Export ("metadataInputWithFormatDescription:clock:")] // FIXME: Add CMMetadataFormatDescription
|
|
AVCaptureMetadataInput MetadataInputWithFormatDescription (IntPtr /*CMMetadataFormatDescription*/ desc, CMClock clock);
|
|
|
|
[Internal]
|
|
[Export ("initWithFormatDescription:clock:")] // FIXME: Add CMMetadataFormatDescription
|
|
NativeHandle Constructor (IntPtr /*CMMetadataFormatDescription*/ desc, CMClock clock);
|
|
|
|
[Export ("appendTimedMetadataGroup:error:")]
|
|
bool AppendTimedMetadataGroup (AVTimedMetadataGroup metadata, out NSError outError);
|
|
}
|
|
|
|
[NoWatch]
|
|
[iOS (9,0), Mac (10,11)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVAsynchronousCIImageFilteringRequest : NSCopying {
|
|
|
|
[Export ("renderSize")]
|
|
CGSize RenderSize { get; }
|
|
|
|
[Export ("compositionTime")]
|
|
CMTime CompositionTime { get; }
|
|
|
|
[Export ("sourceImage")]
|
|
CIImage SourceImage { get; }
|
|
|
|
[Export ("finishWithImage:context:")]
|
|
void Finish (CIImage filteredImage, [NullAllowed] CIContext context);
|
|
|
|
[Export ("finishWithError:")]
|
|
void Finish (NSError error);
|
|
}
|
|
|
|
[NoiOS, TV (10,0), NoWatch, NoMac]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVContentProposal : NSCopying
|
|
{
|
|
[Export ("contentTimeForTransition")]
|
|
CMTime ContentTimeForTransition { get; }
|
|
|
|
[Export ("automaticAcceptanceInterval")]
|
|
double AutomaticAcceptanceInterval { get; set; }
|
|
|
|
[Export ("title")]
|
|
string Title { get; }
|
|
|
|
[NullAllowed, Export ("previewImage")]
|
|
UIImage PreviewImage { get; }
|
|
|
|
[NullAllowed, Export ("URL", ArgumentSemantic.Assign)]
|
|
NSUrl Url { get; set; }
|
|
|
|
[Export ("metadata", ArgumentSemantic.Copy)]
|
|
AVMetadataItem[] Metadata { get; set; }
|
|
|
|
[Export ("initWithContentTimeForTransition:title:previewImage:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (CMTime contentTimeForTransition, string title, [NullAllowed] UIImage previewImage);
|
|
}
|
|
|
|
partial interface IAVContentKeySessionDelegate {}
|
|
|
|
[TV (10,2), Mac (10,12,4), iOS (10,3), Watch (7, 0)]
|
|
[Protocol, Model]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVContentKeySessionDelegate
|
|
{
|
|
[Abstract]
|
|
[Export ("contentKeySession:didProvideContentKeyRequest:")]
|
|
void DidProvideContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest);
|
|
|
|
[Export ("contentKeySession:didProvideRenewingContentKeyRequest:")]
|
|
void DidProvideRenewingContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest);
|
|
|
|
[Export ("contentKeySession:didProvidePersistableContentKeyRequest:")]
|
|
void DidProvidePersistableContentKeyRequest (AVContentKeySession session, AVPersistableContentKeyRequest keyRequest);
|
|
|
|
[Export ("contentKeySession:contentKeyRequest:didFailWithError:")]
|
|
void DidFail (AVContentKeySession session, AVContentKeyRequest keyRequest, NSError err);
|
|
|
|
[Export ("contentKeySession:shouldRetryContentKeyRequest:reason:")]
|
|
bool ShouldRetryContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest, string retryReason);
|
|
|
|
[Export ("contentKeySessionContentProtectionSessionIdentifierDidChange:")]
|
|
void DidChange (AVContentKeySession session);
|
|
|
|
[NoTV, Mac (10,15), iOS (11,0)]
|
|
[Export ("contentKeySession:didUpdatePersistableContentKey:forContentKeyIdentifier:")]
|
|
void DidUpdate (AVContentKeySession session, NSData persistableContentKey, NSObject keyIdentifier);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[Export ("contentKeySession:contentKeyRequestDidSucceed:")]
|
|
void DidSucceed (AVContentKeySession session, AVContentKeyRequest keyRequest);
|
|
|
|
[TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[Export ("contentKeySessionDidGenerateExpiredSessionReport:")]
|
|
void DidGenerateExpiredSessionReport (AVContentKeySession session);
|
|
}
|
|
|
|
partial interface IAVContentKeyRecipient {}
|
|
|
|
[TV (10,2), Mac (10,12,4), iOS (10,3), Watch (7,0)]
|
|
[Protocol]
|
|
interface AVContentKeyRecipient {
|
|
[TV (14,5), Mac (11,3), iOS (14,5), Watch (7,4)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("contentKeySession:didProvideContentKey:")]
|
|
void DidProvideContentKey (AVContentKeySession contentKeySession, AVContentKey contentKey);
|
|
|
|
[Abstract]
|
|
[Export ("mayRequireContentKeysForMediaDataProcessing")]
|
|
bool MayRequireContentKeysForMediaDataProcessing { get; }
|
|
}
|
|
|
|
[TV (10,2), Mac (10,12,4), iOS (10,3), Watch (7,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVContentKeySession {
|
|
|
|
[TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Static]
|
|
[Export ("contentKeySessionWithKeySystem:")]
|
|
AVContentKeySession Create (string keySystem);
|
|
|
|
[Static]
|
|
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
|
[Export ("contentKeySessionWithKeySystem:storageDirectoryAtURL:")]
|
|
AVContentKeySession Create (NSString keySystem, NSUrl storageUrl);
|
|
|
|
[Static]
|
|
[Wrap ("Create (keySystem.GetConstant ()!, storageUrl)")]
|
|
AVContentKeySession Create (AVContentKeySystem keySystem, NSUrl storageUrl);
|
|
|
|
[Export ("setDelegate:queue:")]
|
|
void SetDelegate ([NullAllowed] IAVContentKeySessionDelegate newDelegate, [NullAllowed] DispatchQueue delegateQueue);
|
|
|
|
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
|
IAVContentKeySessionDelegate Delegate { get; }
|
|
|
|
[NullAllowed, Export ("delegateQueue")]
|
|
DispatchQueue DelegateQueue { get; }
|
|
|
|
[NullAllowed, Export ("storageURL")]
|
|
NSUrl StorageUrl { get; }
|
|
|
|
[Protected]
|
|
[Export ("keySystem")]
|
|
NSString KeySystemConstant { get; }
|
|
|
|
[Wrap ("AVContentKeySystemExtensions.GetValue (this.KeySystemConstant)")]
|
|
AVContentKeySystem KeySystem { get; }
|
|
|
|
[Export ("expire")]
|
|
void Expire ();
|
|
|
|
[NullAllowed, Export ("contentProtectionSessionIdentifier")]
|
|
NSData ContentProtectionSessionIdentifier { get; }
|
|
|
|
[Export ("processContentKeyRequestWithIdentifier:initializationData:options:")]
|
|
void ProcessContentKeyRequest ([NullAllowed] NSObject identifier, [NullAllowed] NSData initializationData, [NullAllowed] NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("renewExpiringResponseDataForContentKeyRequest:")]
|
|
void RenewExpiringResponseData (AVContentKeyRequest contentKeyRequest);
|
|
|
|
[Async]
|
|
[NoTV, Mac (10,15), iOS (11,0)]
|
|
[Export ("makeSecureTokenForExpirationDateOfPersistableContentKey:completionHandler:")]
|
|
void MakeSecureToken (NSData persistableContentKeyData, Action<NSData, NSError> handler);
|
|
|
|
[Async]
|
|
[NoTV, Mac (10,15), iOS (12,2)]
|
|
[Export ("invalidatePersistableContentKey:options:completionHandler:")]
|
|
void InvalidatePersistableContentKey (NSData persistableContentKeyData, [NullAllowed] NSDictionary options, Action<NSData, NSError> handler);
|
|
|
|
[Async]
|
|
[NoTV, NoMac, iOS (12, 2)]
|
|
[Wrap ("InvalidatePersistableContentKey (persistableContentKeyData, options.GetDictionary (), handler)")]
|
|
void InvalidatePersistableContentKey (NSData persistableContentKeyData, [NullAllowed] AVContentKeySessionServerPlaybackContextOptions options, Action<NSData, NSError> handler);
|
|
|
|
[Async]
|
|
[NoTV, Mac (10,15), iOS (12,2)]
|
|
[Export ("invalidateAllPersistableContentKeysForApp:options:completionHandler:")]
|
|
void InvalidateAllPersistableContentKeys (NSData appIdentifier, [NullAllowed] NSDictionary options, Action<NSData, NSError> handler);
|
|
|
|
[Async]
|
|
[NoTV, NoMac, iOS (12, 2)]
|
|
[Wrap ("InvalidateAllPersistableContentKeys (appIdentifier, options.GetDictionary (), handler)")]
|
|
void InvalidateAllPersistableContentKeys (NSData appIdentifier, [NullAllowed] AVContentKeySessionServerPlaybackContextOptions options, Action<NSData, NSError> handler);
|
|
|
|
#region AVContentKeySession_AVContentKeySessionPendingExpiredSessionReports
|
|
|
|
// binded because they are static and from a category.
|
|
[Static]
|
|
[Export ("pendingExpiredSessionReportsWithAppIdentifier:storageDirectoryAtURL:")]
|
|
NSDictionary[] GetPendingExpiredSessionReports (NSData appIdentifier, NSUrl storageUrl);
|
|
|
|
[Static]
|
|
[Export ("removePendingExpiredSessionReports:withAppIdentifier:storageDirectoryAtURL:")]
|
|
void RemovePendingExpiredSessionReports (NSDictionary[] expiredSessionReports, NSData appIdentifier, NSUrl storageUrl);
|
|
|
|
#endregion
|
|
}
|
|
|
|
[Static][Internal]
|
|
[Watch (7,0), NoTV, Mac (10,15), iOS (12,2)]
|
|
interface AVContentKeySessionServerPlaybackContextOptionKeys {
|
|
[Field ("AVContentKeySessionServerPlaybackContextOptionProtocolVersions")]
|
|
NSString ProtocolVersionsKey { get; }
|
|
|
|
[Field ("AVContentKeySessionServerPlaybackContextOptionServerChallenge")]
|
|
NSString ServerChallengeKey { get; }
|
|
}
|
|
|
|
[StrongDictionary ("AVContentKeySessionServerPlaybackContextOptionKeys")]
|
|
[Watch (7,0), NoTV, NoMac, iOS (12,2)]
|
|
interface AVContentKeySessionServerPlaybackContextOptions {
|
|
NSNumber[] ProtocolVersions { get; }
|
|
|
|
NSData ServerChallenge { get; }
|
|
}
|
|
|
|
[TV (10,2), Mac (10,12,4), iOS (10,3), Watch (7,0)]
|
|
[Category]
|
|
[BaseType (typeof(AVContentKeySession))]
|
|
interface AVContentKeySession_AVContentKeyRecipients
|
|
{
|
|
[Export ("addContentKeyRecipient:")]
|
|
void Add (IAVContentKeyRecipient recipient);
|
|
|
|
[Export ("removeContentKeyRecipient:")]
|
|
void Remove (IAVContentKeyRecipient recipient);
|
|
|
|
[Export ("contentKeyRecipients")]
|
|
IAVContentKeyRecipient[] GetContentKeyRecipients ();
|
|
}
|
|
|
|
[TV (10,2), Mac (10,12,4), iOS (10,3), Watch (6,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVContentKeyRequest {
|
|
[Watch (7,0)]
|
|
[Field ("AVContentKeyRequestProtocolVersionsKey")]
|
|
NSString ProtocolVersions { get; }
|
|
|
|
[Watch (7,0)]
|
|
[Export ("status")]
|
|
AVContentKeyRequestStatus Status { get; }
|
|
|
|
[Watch (7, 0)]
|
|
[NullAllowed, Export ("error")]
|
|
NSError Error { get; }
|
|
|
|
[Watch (7, 0)]
|
|
[NullAllowed, Export ("identifier")]
|
|
NSObject Identifier { get; }
|
|
|
|
[Watch (7, 0)]
|
|
[NullAllowed, Export ("initializationData")]
|
|
NSData InitializationData { get; }
|
|
|
|
[Watch (7, 0)]
|
|
[Export ("canProvidePersistableContentKey")]
|
|
bool CanProvidePersistableContentKey { get; }
|
|
|
|
[TV (12,2), Mac (10,14,4), iOS (12,2), Watch (7, 0)]
|
|
[Export ("options", ArgumentSemantic.Copy)]
|
|
NSDictionary<NSString, NSObject> Options { get; }
|
|
|
|
[Watch (7, 0)]
|
|
[Async]
|
|
[Export ("makeStreamingContentKeyRequestDataForApp:contentIdentifier:options:completionHandler:")]
|
|
void MakeStreamingContentKeyRequestData (NSData appIdentifier, [NullAllowed] NSData contentIdentifier, [NullAllowed] NSDictionary<NSString, NSObject> options, Action<NSData, NSError> handler);
|
|
|
|
[Watch (7, 0)]
|
|
[Export ("processContentKeyResponse:")]
|
|
void Process (AVContentKeyResponse keyResponse);
|
|
|
|
[Watch (7, 0)]
|
|
[Export ("processContentKeyResponseError:")]
|
|
void Process (NSError error);
|
|
|
|
[Deprecated (PlatformName.iOS, 11, 2, message: "Use the 'NSError' overload instead.")]
|
|
[Export ("respondByRequestingPersistableContentKeyRequest"), NoWatch, NoTV, NoMac]
|
|
void RespondByRequestingPersistableContentKeyRequest ();
|
|
|
|
[Watch (7, 0), NoTV, Mac (10,15), iOS (11,2)]
|
|
[Export ("respondByRequestingPersistableContentKeyRequestAndReturnError:")]
|
|
bool RespondByRequestingPersistableContentKeyRequest ([NullAllowed] out NSError error);
|
|
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Field ("AVContentKeyRequestRequiresValidationDataInSecureTokenKey")]
|
|
NSString RequiresValidationDataInSecureTokenKey { get; }
|
|
|
|
[Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Export ("contentKeySpecifier")]
|
|
AVContentKeySpecifier ContentKeySpecifier { get; }
|
|
|
|
[Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[NullAllowed, Export ("contentKey")]
|
|
AVContentKey ContentKey { get; }
|
|
}
|
|
|
|
[Category]
|
|
[Mac (10, 12, 4), iOS (10,3), TV (10, 2), Watch (7, 0)]
|
|
[BaseType (typeof(AVContentKeyRequest))]
|
|
interface AVContentKeyRequest_AVContentKeyRequestRenewal
|
|
{
|
|
[Export ("renewsExpiringResponseData")]
|
|
bool GetRenewsExpiringResponseData ();
|
|
}
|
|
|
|
[TV (10,2), Mac (10,12,4), iOS (10,3), Watch (7,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (AVContentKeyRequest))]
|
|
interface AVPersistableContentKeyRequest {
|
|
[Export ("persistableContentKeyFromKeyVendorResponse:options:error:")]
|
|
[return: NullAllowed]
|
|
NSData GetPersistableContentKey (NSData keyVendorResponse, [NullAllowed] NSDictionary<NSString, NSObject> options, out NSError outError);
|
|
|
|
}
|
|
|
|
[TV (10,2), Mac (10,12,4), iOS (10,3), Watch (7,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVContentKeyResponse {
|
|
[Internal]
|
|
[Static]
|
|
[Export ("contentKeyResponseWithFairPlayStreamingKeyResponseData:")]
|
|
AVContentKeyResponse _InitWithFairPlayStreamingKeyResponseData (NSData fairPlayStreamingKeyResponseData);
|
|
|
|
[TV (11,0), Mac (10,13), iOS (11,0)]
|
|
[Static]
|
|
[Export ("contentKeyResponseWithClearKeyData:initializationVector:")]
|
|
AVContentKeyResponse Create (NSData keyData, [NullAllowed] NSData initializationVector);
|
|
|
|
[Internal]
|
|
[TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[Static]
|
|
[Export ("contentKeyResponseWithAuthorizationTokenData:")]
|
|
AVContentKeyResponse _InitWithAuthorizationToken (NSData authorizationTokenData);
|
|
}
|
|
|
|
[TV (14,5), Mac (11,3), iOS (14,5), Watch (7,4)]
|
|
[MacCatalyst (14,5)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVContentKeySpecifier
|
|
{
|
|
// TODO https://github.com/xamarin/xamarin-macios/issues/10904
|
|
[Static]
|
|
[Export ("contentKeySpecifierForKeySystem:identifier:options:")]
|
|
AVContentKeySpecifier GetContentKeySpecifier (AVContentKeySystem keySystem, NSObject contentKeyIdentifier, NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("initForKeySystem:identifier:options:")]
|
|
NativeHandle Constructor (AVContentKeySystem keySystem, NSObject contentKeyIdentifier, NSDictionary<NSString, NSObject> options);
|
|
|
|
[Export ("keySystem")]
|
|
AVContentKeySystem KeySystem { get; }
|
|
|
|
[Export ("identifier")]
|
|
NSObject Identifier { get; }
|
|
|
|
[Export ("options")]
|
|
NSDictionary<NSString, NSObject> Options { get; }
|
|
}
|
|
|
|
[TV (14,5), Mac (11,3), iOS (14,5), Watch (7,4)]
|
|
[MacCatalyst (14,5)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVContentKey
|
|
{
|
|
[Export ("contentKeySpecifier")]
|
|
AVContentKeySpecifier ContentKeySpecifier { get; }
|
|
}
|
|
|
|
[TV (11,0), NoWatch, Mac (10,13), iOS (11,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVRouteDetector {
|
|
[Notification]
|
|
[Field ("AVRouteDetectorMultipleRoutesDetectedDidChangeNotification")]
|
|
NSString MultipleRoutesDetectedDidChange { get; }
|
|
|
|
[Export ("routeDetectionEnabled")]
|
|
bool RouteDetectionEnabled { [Bind ("isRouteDetectionEnabled")] get; set; }
|
|
|
|
[Export ("multipleRoutesDetected")]
|
|
bool MultipleRoutesDetected { get; }
|
|
}
|
|
|
|
interface IAVCapturePhotoFileDataRepresentationCustomizer {}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
|
[Protocol]
|
|
interface AVCapturePhotoFileDataRepresentationCustomizer
|
|
{
|
|
[Export ("replacementMetadataForPhoto:")]
|
|
[return: NullAllowed]
|
|
NSDictionary<NSString, NSObject> GetReplacementMetadata (AVCapturePhoto photo);
|
|
|
|
[Export ("replacementEmbeddedThumbnailPixelBufferWithPhotoFormat:forPhoto:")]
|
|
[return: NullAllowed]
|
|
CVPixelBuffer GetReplacementEmbeddedThumbnail ([NullAllowed] out NSDictionary<NSString, NSObject> replacementEmbeddedThumbnailPhotoFormatOut, AVCapturePhoto photo);
|
|
|
|
[Export ("replacementDepthDataForPhoto:")]
|
|
[return: NullAllowed]
|
|
AVDepthData GetReplacementDepthData (AVCapturePhoto photo);
|
|
|
|
[Export ("replacementPortraitEffectsMatteForPhoto:")]
|
|
[return: NullAllowed]
|
|
AVPortraitEffectsMatte GetReplacementPortraitEffectsMatte (AVCapturePhoto photo);
|
|
|
|
[iOS (13,0)]
|
|
[Export ("replacementSemanticSegmentationMatteOfType:forPhoto:")]
|
|
[return: NullAllowed]
|
|
AVSemanticSegmentationMatte GetReplacementSemanticSegmentationMatte (NSString semanticSegmentationMatteType, AVCapturePhoto photo);
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 3)]
|
|
[NoWatch, NoTV, NoMac, iOS (14,3)]
|
|
[Export ("replacementAppleProRAWCompressionSettingsForPhoto:defaultSettings:maximumBitDepth:")]
|
|
NSDictionary<NSString, NSObject> GetReplacementAppleProRawCompressionSettings (AVCapturePhoto photo, NSDictionary<NSString, NSObject> defaultSettings, nint maximumBitDepth);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoTV, iOS (11,0), NoWatch, Mac (10,15)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCapturePhoto
|
|
{
|
|
[Export ("timestamp")]
|
|
CMTime Timestamp { get; }
|
|
|
|
[NoMac]
|
|
[Export ("rawPhoto")]
|
|
bool RawPhoto { [Bind ("isRawPhoto")] get; }
|
|
|
|
[NullAllowed, Export ("pixelBuffer")]
|
|
CVPixelBuffer PixelBuffer { get; }
|
|
|
|
[NoMac]
|
|
[NullAllowed, Export ("previewPixelBuffer")]
|
|
CVPixelBuffer PreviewPixelBuffer { get; }
|
|
|
|
[NoMac]
|
|
[NullAllowed, Export ("embeddedThumbnailPhotoFormat")]
|
|
NSDictionary WeakEmbeddedThumbnailPhotoFormat { get; }
|
|
|
|
[NoMac]
|
|
[Wrap ("WeakEmbeddedThumbnailPhotoFormat")]
|
|
AVVideoSettingsCompressed EmbeddedThumbnailPhotoFormat { get; }
|
|
|
|
[NoMac]
|
|
[NullAllowed, Export ("depthData")]
|
|
AVDepthData DepthData { get; }
|
|
|
|
[NoMac]
|
|
[Export ("metadata")]
|
|
NSDictionary WeakMetadata { get; }
|
|
|
|
[NoMac]
|
|
[Wrap ("WeakMetadata")]
|
|
CoreGraphics.CGImageProperties Properties { get; }
|
|
|
|
[NullAllowed, Export ("cameraCalibrationData")]
|
|
AVCameraCalibrationData CameraCalibrationData { get; }
|
|
|
|
[Export ("resolvedSettings")]
|
|
AVCaptureResolvedPhotoSettings ResolvedSettings { get; }
|
|
|
|
[Export ("photoCount")]
|
|
nint PhotoCount { get; }
|
|
|
|
[NullAllowed, Export ("sourceDeviceType")]
|
|
NSString WeakSourceDeviceType { get; }
|
|
|
|
[Wrap ("AVCaptureDeviceTypeExtensions.GetValue (WeakSourceDeviceType!)")]
|
|
AVCaptureDeviceType SourceDeviceType { get; }
|
|
|
|
// From @interface AVCapturePhotoBracketedCapture (AVCapturePhoto)
|
|
|
|
[NoMac]
|
|
[NullAllowed, Export ("bracketSettings")]
|
|
AVCaptureBracketedStillImageSettings BracketSettings { get; }
|
|
|
|
[NoMac]
|
|
[Export ("lensStabilizationStatus")]
|
|
AVCaptureLensStabilizationStatus LensStabilizationStatus { get; }
|
|
|
|
[NoMac]
|
|
[Export ("sequenceCount")]
|
|
nint SequenceCount { get; }
|
|
|
|
// @interface AVCapturePhotoConversions (AVCapturePhoto)
|
|
[NullAllowed, Export ("fileDataRepresentation")]
|
|
NSData FileDataRepresentation { get; }
|
|
|
|
[NoMac]
|
|
[Deprecated (PlatformName.iOS, 12, 0, message: "Use 'GetFileDataRepresentation' instead.")]
|
|
[Export ("fileDataRepresentationWithReplacementMetadata:replacementEmbeddedThumbnailPhotoFormat:replacementEmbeddedThumbnailPixelBuffer:replacementDepthData:")]
|
|
[return: NullAllowed]
|
|
NSData GetFileDataRepresentation ([NullAllowed] NSDictionary<NSString, NSObject> replacementMetadata, [NullAllowed] NSDictionary<NSString, NSObject> replacementEmbeddedThumbnailPhotoFormat, [NullAllowed] CVPixelBuffer replacementEmbeddedThumbnailPixelBuffer, [NullAllowed] AVDepthData replacementDepthData);
|
|
|
|
[NullAllowed, Export ("CGImageRepresentation")]
|
|
CGImage CGImageRepresentation { get; }
|
|
|
|
[NullAllowed, Export ("previewCGImageRepresentation")]
|
|
CGImage PreviewCGImageRepresentation { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12, 0)]
|
|
[NullAllowed, Export ("portraitEffectsMatte")]
|
|
AVPortraitEffectsMatte PortraitEffectsMatte { get; }
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
|
[Export ("fileDataRepresentationWithCustomizer:")]
|
|
[return: NullAllowed]
|
|
NSData GetFileDataRepresentation (IAVCapturePhotoFileDataRepresentationCustomizer customizer);
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[Export ("semanticSegmentationMatteForType:")]
|
|
[return: NullAllowed]
|
|
AVSemanticSegmentationMatte GetSemanticSegmentationMatte ([BindAs (typeof (AVSemanticSegmentationMatteType))] NSString semanticSegmentationMatteType);
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Watch (6,0), TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVPortraitEffectsMatte
|
|
{
|
|
[Static]
|
|
[Export ("portraitEffectsMatteFromDictionaryRepresentation:error:")]
|
|
[return: NullAllowed]
|
|
AVPortraitEffectsMatte Create (NSDictionary imageSourceAuxDataInfoDictionary, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("portraitEffectsMatteByApplyingExifOrientation:")]
|
|
AVPortraitEffectsMatte Create (CGImagePropertyOrientation exifOrientation);
|
|
|
|
[Export ("portraitEffectsMatteByReplacingPortraitEffectsMatteWithPixelBuffer:error:")]
|
|
[return: NullAllowed]
|
|
AVPortraitEffectsMatte Create (CVPixelBuffer pixelBuffer, [NullAllowed] out NSError outError);
|
|
|
|
[Export ("dictionaryRepresentationForAuxiliaryDataType:")]
|
|
[return: NullAllowed]
|
|
NSDictionary GetDictionaryRepresentation ([NullAllowed] out string outAuxDataType);
|
|
|
|
[Export ("pixelFormatType")]
|
|
uint PixelFormatType { get; }
|
|
|
|
[Export ("mattingImage")]
|
|
CVPixelBuffer MattingImage { get; }
|
|
}
|
|
|
|
[NoWatch, TV (12,0), Mac (10,14), iOS (12,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetResourceLoadingRequestor
|
|
{
|
|
[Export ("providesExpiredSessionReports")]
|
|
bool ProvidesExpiredSessionReports { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
enum AVSemanticSegmentationMatteType {
|
|
[DefaultEnumValue]
|
|
[Field (null)]
|
|
None,
|
|
[Field ("AVSemanticSegmentationMatteTypeSkin")]
|
|
Skin,
|
|
[Field ("AVSemanticSegmentationMatteTypeHair")]
|
|
Hair,
|
|
[Field ("AVSemanticSegmentationMatteTypeTeeth")]
|
|
Teeth,
|
|
[Introduced (PlatformName.MacCatalyst, 14, 1)]
|
|
[iOS (14,1)]
|
|
[Mac (11,0)]
|
|
[Watch (8,0)][TV (15,0)]
|
|
[Field ("AVSemanticSegmentationMatteTypeGlasses")]
|
|
Glasses,
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVSemanticSegmentationMatte {
|
|
|
|
[Static]
|
|
[Export ("semanticSegmentationMatteFromImageSourceAuxiliaryDataType:dictionaryRepresentation:error:")]
|
|
[return: NullAllowed]
|
|
AVSemanticSegmentationMatte Create (NSString imageSourceAuxiliaryDataType, NSDictionary imageSourceAuxiliaryDataInfoDictionary, out NSError outError);
|
|
|
|
[BindAs (typeof (AVSemanticSegmentationMatteType))]
|
|
[Export ("matteType")]
|
|
NSString MatteType { get; }
|
|
|
|
[Export ("semanticSegmentationMatteByApplyingExifOrientation:")]
|
|
AVSemanticSegmentationMatte ApplyExifOrientation (CGImagePropertyOrientation exifOrientation);
|
|
|
|
[Export ("semanticSegmentationMatteByReplacingSemanticSegmentationMatteWithPixelBuffer:error:")]
|
|
[return: NullAllowed]
|
|
AVSemanticSegmentationMatte ReplaceSemanticSegmentationMatte (CVPixelBuffer pixelBuffer, out NSError outError);
|
|
|
|
[Export ("dictionaryRepresentationForAuxiliaryDataType:")]
|
|
[return: NullAllowed]
|
|
NSDictionary GetDictionaryRepresentation ([NullAllowed] out string outAuxDataType);
|
|
|
|
[Export ("pixelFormatType")]
|
|
CVPixelFormatType PixelFormatType { get; }
|
|
|
|
[Export ("mattingImage")]
|
|
CVPixelBuffer MattingImage { get; }
|
|
}
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCompositionTrackFormatDescriptionReplacement : NSSecureCoding {
|
|
[Export ("originalFormatDescription")]
|
|
CMFormatDescription OriginalFormatDescription { get; }
|
|
|
|
[Export ("replacementFormatDescription")]
|
|
CMFormatDescription ReplacementFormatDescription { get; }
|
|
}
|
|
#if NET
|
|
delegate /* OSStatus */ int AVAudioSourceNodeRenderHandler (ref bool isSilence, ref AudioTimeStamp timestamp, uint frameCount, ref AudioBuffers outputData);
|
|
#else
|
|
delegate /* OSStatus */ int AVAudioSourceNodeRenderHandler (bool isSilence, AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioBuffers outputData);
|
|
delegate /* OSStatus */ int AVAudioSourceNodeRenderHandler2 (ref bool isSilence, ref AudioTimeStamp timestamp, uint frameCount, ref AudioBuffers outputData);
|
|
#endif
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(AVAudioNode))]
|
|
[DisableDefaultCtor]
|
|
interface AVAudioSourceNode : AVAudioMixing {
|
|
[Export ("initWithRenderBlock:")]
|
|
[DesignatedInitializer]
|
|
#if NET
|
|
NativeHandle Constructor (AVAudioSourceNodeRenderHandler renderHandler);
|
|
#else
|
|
NativeHandle Constructor (AVAudioSourceNodeRenderHandler2 renderHandler);
|
|
#endif
|
|
|
|
[Export ("initWithFormat:renderBlock:")]
|
|
[DesignatedInitializer]
|
|
#if NET
|
|
NativeHandle Constructor (AVAudioFormat format, AVAudioSourceNodeRenderHandler renderHandler);
|
|
#else
|
|
NativeHandle Constructor (AVAudioFormat format, AVAudioSourceNodeRenderHandler2 renderHandler);
|
|
#endif
|
|
}
|
|
|
|
delegate int AVAudioSinkNodeReceiverHandler (AudioTimeStamp timestamp, uint frameCount, ref AudioBuffers inputData);
|
|
|
|
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(AVAudioNode))]
|
|
[DisableDefaultCtor]
|
|
interface AVAudioSinkNode {
|
|
[Export ("initWithReceiverBlock:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (AVAudioSinkNodeReceiverHandler receiverHandler);
|
|
}
|
|
|
|
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVVideoCompositionRenderHint {
|
|
|
|
[Export ("startCompositionTime")]
|
|
CMTime StartCompositionTime { get; }
|
|
|
|
[Export ("endCompositionTime")]
|
|
CMTime EndCompositionTime { get; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
|
[MacCatalyst (14,0)]
|
|
[BaseType (typeof(AVCaptureSession))]
|
|
interface AVCaptureMultiCamSession {
|
|
[Static]
|
|
[Export ("multiCamSupported")]
|
|
bool MultiCamSupported { [Bind ("isMultiCamSupported")] get; }
|
|
|
|
[Export ("hardwareCost")]
|
|
float HardwareCost { get; }
|
|
|
|
[Export ("systemPressureCost")]
|
|
float SystemPressureCost { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(AVMetadataObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVMetadataBodyObject : NSCopying {
|
|
[Export ("bodyID")]
|
|
nint BodyId { get; }
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(AVMetadataBodyObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVMetadataCatBodyObject : NSCopying {
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(AVMetadataBodyObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVMetadataDogBodyObject : NSCopying {
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(AVMetadataBodyObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVMetadataHumanBodyObject : NSCopying {
|
|
}
|
|
|
|
[Introduced (PlatformName.MacCatalyst, 14, 0)]
|
|
[NoWatch, NoTV, Mac (10,15), iOS (13,0)]
|
|
[BaseType (typeof(AVMetadataObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVMetadataSalientObject : NSCopying {
|
|
[Export ("objectID")]
|
|
nint ObjectId { get; }
|
|
}
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetSegmentReport {
|
|
[Export ("segmentType")]
|
|
AVAssetSegmentType SegmentType { get; }
|
|
|
|
[Export ("trackReports")]
|
|
AVAssetSegmentTrackReport[] TrackReports { get; }
|
|
}
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetSegmentReportSampleInformation {
|
|
[Export ("presentationTimeStamp")]
|
|
CMTime PresentationTimeStamp { get; }
|
|
|
|
[Export ("offset")]
|
|
nint Offset { get; }
|
|
|
|
[Export ("length")]
|
|
nint Length { get; }
|
|
|
|
[Export ("isSyncSample")]
|
|
bool IsSyncSample { get; }
|
|
}
|
|
|
|
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetSegmentTrackReport {
|
|
[Export ("trackID")]
|
|
int TrackId { get; }
|
|
|
|
[BindAs (typeof (AVMediaTypes))]
|
|
[Export ("mediaType")]
|
|
NSString MediaType { get; }
|
|
|
|
[Export ("earliestPresentationTimeStamp")]
|
|
CMTime EarliestPresentationTimeStamp { get; }
|
|
|
|
[Export ("duration")]
|
|
CMTime Duration { get; }
|
|
|
|
[NullAllowed, Export ("firstVideoSampleInformation")]
|
|
AVAssetSegmentReportSampleInformation FirstVideoSampleInformation { get; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (11,0), NoMacCatalyst]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAudioRoutingArbiter
|
|
{
|
|
[Static]
|
|
[Export ("sharedRoutingArbiter")]
|
|
AVAudioRoutingArbiter SharedRoutingArbiter { get; }
|
|
|
|
[Export ("beginArbitrationWithCategory:completionHandler:")]
|
|
void BeginArbitration (AVAudioRoutingArbitrationCategory category, Action<bool, NSError> handler);
|
|
|
|
[Export ("leaveArbitration")]
|
|
void LeaveArbitration ();
|
|
}
|
|
|
|
[NoWatch, NoTV]
|
|
[iOS (14,5)]
|
|
[MacCatalyst (14,5)]
|
|
[Mac (12,3)]
|
|
[Native]
|
|
public enum AVCaptureCenterStageControlMode : long {
|
|
User = 0,
|
|
App = 1,
|
|
Cooperative = 2,
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetDownloadConfiguration
|
|
{
|
|
[Static]
|
|
[Export ("downloadConfigurationWithAsset:title:")]
|
|
AVAssetDownloadConfiguration Create (AVUrlAsset asset, string title);
|
|
|
|
[NullAllowed, Export ("artworkData", ArgumentSemantic.Copy)]
|
|
NSData ArtworkData { get; set; }
|
|
|
|
[Export ("primaryContentConfiguration")]
|
|
AVAssetDownloadContentConfiguration PrimaryContentConfiguration { get; }
|
|
|
|
[Export ("auxiliaryContentConfigurations", ArgumentSemantic.Copy)]
|
|
AVAssetDownloadContentConfiguration[] AuxiliaryContentConfigurations { get; set; }
|
|
|
|
[Export ("optimizesAuxiliaryContentConfigurations")]
|
|
bool OptimizesAuxiliaryContentConfigurations { get; set; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAssetDownloadContentConfiguration : NSCopying
|
|
{
|
|
[Export ("variantQualifiers", ArgumentSemantic.Copy)]
|
|
AVAssetVariantQualifier[] VariantQualifiers { get; set; }
|
|
|
|
[Export ("mediaSelections", ArgumentSemantic.Copy)]
|
|
AVMediaSelection[] MediaSelections { get; set; }
|
|
}
|
|
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetVariant
|
|
{
|
|
[Export ("peakBitRate")]
|
|
double PeakBitRate { get; }
|
|
|
|
[Export ("averageBitRate")]
|
|
double AverageBitRate { get; }
|
|
|
|
[NullAllowed, Export ("videoAttributes")]
|
|
AVAssetVariantVideoAttributes VideoAttributes { get; }
|
|
|
|
[NullAllowed, Export ("audioAttributes")]
|
|
AVAssetVariantAudioAttributes AudioAttributes { get; }
|
|
}
|
|
|
|
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetVariantAudioAttributes
|
|
{
|
|
[Export ("formatIDs")]
|
|
NSNumber[] FormatIds { get; }
|
|
|
|
[Export ("renditionSpecificAttributesForMediaOption:")]
|
|
[return: NullAllowed]
|
|
AVAssetVariantAudioRenditionSpecificAttributes GetRenditionSpecificAttributes (AVMediaSelectionOption mediaSelectionOption);
|
|
}
|
|
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVAssetVariantAudioRenditionSpecificAttributes
|
|
{
|
|
[Export ("channelCount")]
|
|
nint ChannelCount { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetVariantQualifier : NSCopying
|
|
{
|
|
[Static]
|
|
[Export ("assetVariantQualifierWithPredicate:")]
|
|
AVAssetVariantQualifier Create (NSPredicate predicate);
|
|
|
|
[Static]
|
|
[Export ("assetVariantQualifierWithVariant:")]
|
|
AVAssetVariantQualifier Create (AVAssetVariant variant);
|
|
|
|
[Static]
|
|
[Export ("predicateForChannelCount:mediaSelectionOption:operatorType:")]
|
|
NSPredicate GetPredicate (nint channelCount, AVMediaSelectionOption mediaSelectionOption, NSPredicateOperatorType operatorType);
|
|
|
|
[Internal]
|
|
[Static]
|
|
[Export ("predicateForPresentationWidth:operatorType:")]
|
|
NSPredicate GetPredicateForPresentationWidth (nfloat width, NSPredicateOperatorType operatorType);
|
|
|
|
[Internal]
|
|
[Static]
|
|
[Export ("predicateForPresentationHeight:operatorType:")]
|
|
NSPredicate GetPredicateForPresentationHeight (nfloat height, NSPredicateOperatorType operatorType);
|
|
}
|
|
|
|
[Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetVariantVideoAttributes
|
|
{
|
|
[Export ("videoRange")]
|
|
string VideoRange { get; }
|
|
|
|
[Export ("codecTypes")]
|
|
NSNumber[] CodecTypes { get; }
|
|
|
|
[Export ("presentationSize")]
|
|
CGSize PresentationSize { get; }
|
|
|
|
[Export ("nominalFrameRate")]
|
|
double NominalFrameRate { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVCoordinatedPlaybackParticipant
|
|
{
|
|
[Export ("suspensionReasons")]
|
|
string[] SuspensionReasons { get; }
|
|
|
|
[Export ("readyToPlay")]
|
|
bool ReadyToPlay { [Bind ("isReadyToPlay")] get; }
|
|
|
|
[Export ("identifier")]
|
|
NSUuid Identifier { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCoordinatedPlaybackSuspension
|
|
{
|
|
[Export ("reason")]
|
|
string Reason { get; }
|
|
|
|
[Export ("beginDate")]
|
|
NSDate BeginDate { get; }
|
|
|
|
[Export ("end")]
|
|
void End ();
|
|
|
|
[Export ("endProposingNewTime:")]
|
|
void EndProposingNewTime (CMTime time);
|
|
}
|
|
|
|
interface IAVPlaybackCoordinatorPlaybackControlDelegate {}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
#if NET
|
|
[Protocol, Model]
|
|
#else
|
|
[Protocol, Model (AutoGeneratedName = true)]
|
|
#endif
|
|
[BaseType (typeof (NSObject))]
|
|
interface AVPlaybackCoordinatorPlaybackControlDelegate
|
|
{
|
|
[Abstract]
|
|
[Export ("playbackCoordinator:didIssuePlayCommand:completionHandler:")]
|
|
void DidIssuePlayCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPlayCommand playCommand, Action completionHandler);
|
|
|
|
[Abstract]
|
|
[Export ("playbackCoordinator:didIssuePauseCommand:completionHandler:")]
|
|
void DidIssuePauseCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPauseCommand pauseCommand, Action completionHandler);
|
|
|
|
[Abstract]
|
|
[Export ("playbackCoordinator:didIssueSeekCommand:completionHandler:")]
|
|
void DidIssueSeekCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorSeekCommand seekCommand, Action completionHandler);
|
|
|
|
[Abstract]
|
|
[Export ("playbackCoordinator:didIssueBufferingCommand:completionHandler:")]
|
|
void DidIssueBufferingCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorBufferingCommand bufferingCommand, Action completionHandler);
|
|
}
|
|
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (AVPlaybackCoordinator))]
|
|
[DisableDefaultCtor] // throws exception
|
|
interface AVDelegatingPlaybackCoordinator
|
|
{
|
|
[Export ("initWithPlaybackControlDelegate:")]
|
|
NativeHandle Constructor (IAVPlaybackCoordinatorPlaybackControlDelegate playbackControlDelegate);
|
|
|
|
[Wrap ("WeakPlaybackControlDelegate")]
|
|
[NullAllowed]
|
|
IAVPlaybackCoordinatorPlaybackControlDelegate PlaybackControlDelegate { get; }
|
|
|
|
[NullAllowed, Export ("playbackControlDelegate", ArgumentSemantic.Weak)]
|
|
NSObject WeakPlaybackControlDelegate { get; }
|
|
|
|
[Export ("coordinateRateChangeToRate:options:")]
|
|
void CoordinateRateChangeToRate (float rate, AVDelegatingPlaybackCoordinatorRateChangeOptions options);
|
|
|
|
[Export ("coordinateSeekToTime:options:")]
|
|
void CoordinateSeekToTime (CMTime time, AVDelegatingPlaybackCoordinatorSeekOptions options);
|
|
|
|
[Export ("transitionToItemWithIdentifier:proposingInitialTimingBasedOnTimebase:")]
|
|
void TransitionToItem ([NullAllowed] string itemIdentifier, [NullAllowed] CMTimebase snapshotTimebase);
|
|
|
|
[NullAllowed, Export ("currentItemIdentifier")]
|
|
string CurrentItemIdentifier { get; }
|
|
|
|
[Export ("reapplyCurrentItemStateToPlaybackControlDelegate")]
|
|
void ReapplyCurrentItemStateToPlaybackControlDelegate ();
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (AVDelegatingPlaybackCoordinatorPlaybackControlCommand))]
|
|
[DisableDefaultCtor]
|
|
interface AVDelegatingPlaybackCoordinatorBufferingCommand
|
|
{
|
|
[Export ("anticipatedPlaybackRate")]
|
|
float AnticipatedPlaybackRate { get; }
|
|
|
|
[NullAllowed, Export ("completionDueDate")]
|
|
NSDate CompletionDueDate { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (AVDelegatingPlaybackCoordinatorPlaybackControlCommand))]
|
|
[DisableDefaultCtor]
|
|
interface AVDelegatingPlaybackCoordinatorPauseCommand
|
|
{
|
|
[Export ("shouldBufferInAnticipationOfPlayback")]
|
|
bool ShouldBufferInAnticipationOfPlayback { get; }
|
|
|
|
[Export ("anticipatedPlaybackRate")]
|
|
float AnticipatedPlaybackRate { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (AVDelegatingPlaybackCoordinatorPlaybackControlCommand))]
|
|
[DisableDefaultCtor]
|
|
interface AVDelegatingPlaybackCoordinatorPlayCommand
|
|
{
|
|
[Export ("rate")]
|
|
float Rate { get; }
|
|
|
|
[Export ("itemTime")]
|
|
CMTime ItemTime { get; }
|
|
|
|
[Export ("hostClockTime")]
|
|
CMTime HostClockTime { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVDelegatingPlaybackCoordinatorPlaybackControlCommand
|
|
{
|
|
[NullAllowed, Export ("originator")]
|
|
AVCoordinatedPlaybackParticipant Originator { get; }
|
|
|
|
[Export ("expectedCurrentItemIdentifier")]
|
|
string ExpectedCurrentItemIdentifier { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (AVDelegatingPlaybackCoordinatorPlaybackControlCommand))]
|
|
[DisableDefaultCtor]
|
|
interface AVDelegatingPlaybackCoordinatorSeekCommand
|
|
{
|
|
[Export ("itemTime")]
|
|
CMTime ItemTime { get; }
|
|
|
|
[Export ("shouldBufferInAnticipationOfPlayback")]
|
|
bool ShouldBufferInAnticipationOfPlayback { get; }
|
|
|
|
[Export ("anticipatedPlaybackRate")]
|
|
float AnticipatedPlaybackRate { get; }
|
|
|
|
[NullAllowed, Export ("completionDueDate")]
|
|
NSDate CompletionDueDate { get; }
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVPlaybackCoordinator
|
|
{
|
|
|
|
[Notification]
|
|
[Field ("AVPlaybackCoordinatorOtherParticipantsDidChangeNotification")]
|
|
NSString OtherParticipantsDidChangeNotification { get; }
|
|
|
|
[Notification]
|
|
[Field ("AVPlaybackCoordinatorSuspensionReasonsDidChangeNotification")]
|
|
NSString SuspensionReasonsDidChangeNotification { get; }
|
|
|
|
[Export ("otherParticipants")]
|
|
AVCoordinatedPlaybackParticipant[] OtherParticipants { get; }
|
|
|
|
[Export ("suspensionReasons")]
|
|
string[] SuspensionReasons { get; }
|
|
|
|
[Export ("beginSuspensionForReason:")]
|
|
AVCoordinatedPlaybackSuspension BeginSuspension (string suspensionReason);
|
|
|
|
[Export ("expectedItemTimeAtHostTime:")]
|
|
CMTime GetExpectedItemTime (CMTime hostClockTime);
|
|
|
|
// AVPlaybackCoordinator_AVCoordinatedPlaybackPolicies
|
|
[Export ("setParticipantLimit:forWaitingOutSuspensionsWithReason:")]
|
|
void SetParticipantLimit (nint participantLimit, string reason);
|
|
|
|
[Export ("participantLimitForWaitingOutSuspensionsWithReason:")]
|
|
nint GetParticipantLimit (string reason);
|
|
|
|
[Export ("suspensionReasonsThatTriggerWaiting", ArgumentSemantic.Copy)]
|
|
string[] SuspensionReasonsThatTriggerWaiting { get; set; }
|
|
|
|
[Export ("pauseSnapsToMediaTimeOfOriginator")]
|
|
bool PauseSnapsToMediaTimeOfOriginator { get; set; }
|
|
}
|
|
|
|
interface IAVPlayerPlaybackCoordinatorDelegate {}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
#if NET
|
|
[Protocol, Model]
|
|
#else
|
|
[Protocol, Model (AutoGeneratedName = true)]
|
|
#endif
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVPlayerPlaybackCoordinatorDelegate
|
|
{
|
|
[Export ("playbackCoordinator:identifierForPlayerItem:")]
|
|
string GetIdentifier (AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem);
|
|
|
|
[TV (15,4), NoWatch, Mac (12,3), iOS (15,4), MacCatalyst (15,4)]
|
|
[Export ("playbackCoordinator:interstitialTimeRangesForPlayerItem:")]
|
|
NSValue [] GetInterstitialTimeRanges (AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem);
|
|
}
|
|
|
|
[TV (15,0), NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0)]
|
|
[BaseType (typeof (AVPlaybackCoordinator))]
|
|
[DisableDefaultCtor]
|
|
interface AVPlayerPlaybackCoordinator
|
|
{
|
|
[NullAllowed, Export ("player", ArgumentSemantic.Weak)]
|
|
AVPlayer Player { get; }
|
|
|
|
[Wrap ("WeakDelegate")]
|
|
[NullAllowed]
|
|
IAVPlayerPlaybackCoordinatorDelegate Delegate { get; set; }
|
|
|
|
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
|
NSObject WeakDelegate { get; set; }
|
|
}
|
|
|
|
interface IAVAssetReaderCaptionValidationHandling {}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[Protocol]
|
|
interface AVAssetReaderCaptionValidationHandling
|
|
{
|
|
[Export ("captionAdaptor:didVendCaption:skippingUnsupportedSourceSyntaxElements:")]
|
|
void DidVendCaption (AVAssetReaderOutputCaptionAdaptor adaptor, AVCaption caption, string[] syntaxElements);
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetReaderOutputCaptionAdaptor
|
|
{
|
|
[Static]
|
|
[Export ("assetReaderOutputCaptionAdaptorWithAssetReaderTrackOutput:")]
|
|
AVAssetReaderOutputCaptionAdaptor Create (AVAssetReaderTrackOutput trackOutput);
|
|
|
|
[Export ("initWithAssetReaderTrackOutput:")]
|
|
NativeHandle Constructor (AVAssetReaderTrackOutput trackOutput);
|
|
|
|
[Export ("assetReaderTrackOutput")]
|
|
AVAssetReaderTrackOutput AssetReaderTrackOutput { get; }
|
|
|
|
[NoMacCatalyst]
|
|
[Export ("nextCaptionGroup")]
|
|
[return: NullAllowed]
|
|
AVCaptionGroup GetNextCaptionGroup ();
|
|
|
|
[NoMacCatalyst]
|
|
[Export ("captionsNotPresentInPreviousGroupsInCaptionGroup:")]
|
|
AVCaption[] GetCaptionsNotPresentInPreviousGroups (AVCaptionGroup captionGroup);
|
|
|
|
// interface AVAssetReaderOutputCaptionAdaptor_AVAssetReaderCaptionValidation
|
|
[Wrap ("WeakValidationDelegate")]
|
|
[NullAllowed]
|
|
IAVAssetReaderCaptionValidationHandling ValidationDelegate { get; set; }
|
|
|
|
[NullAllowed, Export ("validationDelegate", ArgumentSemantic.Weak)]
|
|
NSObject WeakValidationDelegate { get; set; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVAssetWriterInputCaptionAdaptor
|
|
{
|
|
[Static]
|
|
[Export ("assetWriterInputCaptionAdaptorWithAssetWriterInput:")]
|
|
AVAssetWriterInputCaptionAdaptor Create (AVAssetWriterInput input);
|
|
|
|
[Export ("initWithAssetWriterInput:")]
|
|
NativeHandle Constructor (AVAssetWriterInput input);
|
|
|
|
[Export ("assetWriterInput")]
|
|
AVAssetWriterInput AssetWriterInput { get; }
|
|
|
|
[NoMacCatalyst]
|
|
[Export ("appendCaption:")]
|
|
bool AppendCaption (AVCaption caption);
|
|
|
|
[NoMacCatalyst]
|
|
[Export ("appendCaptionGroup:")]
|
|
bool AppendCaptionGroup (AVCaptionGroup captionGroup);
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionGroup
|
|
{
|
|
[Export ("initWithCaptions:timeRange:")]
|
|
NativeHandle Constructor (AVCaption[] captions, CMTimeRange timeRange);
|
|
|
|
[Export ("initWithTimeRange:")]
|
|
NativeHandle Constructor (CMTimeRange timeRange);
|
|
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; }
|
|
|
|
[Export ("captions")]
|
|
AVCaption[] Captions { get; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaption : NSCopying, NSMutableCopying, NSSecureCoding
|
|
{
|
|
[Export ("initWithText:timeRange:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (string text, CMTimeRange timeRange);
|
|
|
|
[Export ("text")]
|
|
string Text { get; }
|
|
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; }
|
|
|
|
// interface AVCaption_Region
|
|
[NullAllowed, Export ("region")]
|
|
AVCaptionRegion Region { get; }
|
|
|
|
[Export ("textAlignment")]
|
|
AVCaptionTextAlignment TextAlignment { get; }
|
|
|
|
// interface AVCaption_Animation
|
|
[Export ("animation")]
|
|
AVCaptionAnimation Animation { get; }
|
|
|
|
// interface AVCaption_Styling
|
|
|
|
[Export ("textColorAtIndex:range:")]
|
|
[return: NullAllowed]
|
|
CGColor GetTextColor (nint index, [NullAllowed] out NSRange outRange);
|
|
|
|
[Export ("backgroundColorAtIndex:range:")]
|
|
[return: NullAllowed]
|
|
CGColor GetBackgroundColor (nint index, [NullAllowed] out NSRange outRange);
|
|
|
|
[Export ("fontWeightAtIndex:range:")]
|
|
AVCaptionFontWeight GetFontWeight (nint index, [NullAllowed] out NSRange outRange);
|
|
|
|
[Export ("fontStyleAtIndex:range:")]
|
|
AVCaptionFontStyle GetFontStyle (nint index, [NullAllowed] out NSRange outRange);
|
|
|
|
[Export ("decorationAtIndex:range:")]
|
|
AVCaptionDecoration GetDecoration (nint index, [NullAllowed] out NSRange outRange);
|
|
|
|
[Export ("textCombineAtIndex:range:")]
|
|
AVCaptionTextCombine GetTextCombine (nint index, [NullAllowed] out NSRange outRange);
|
|
|
|
[Export ("rubyAtIndex:range:")]
|
|
[return: NullAllowed]
|
|
AVCaptionRuby GetRuby (nint index, [NullAllowed] out NSRange outRange);
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0)]
|
|
[DisableDefaultCtor]
|
|
[BaseType (typeof(AVCaption))]
|
|
interface AVMutableCaption
|
|
{
|
|
[Export ("initWithText:timeRange:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (string text, CMTimeRange timeRange);
|
|
|
|
[Export ("text")]
|
|
string Text { get; set; }
|
|
|
|
[Export ("timeRange", ArgumentSemantic.Assign)]
|
|
CMTimeRange TimeRange { get; set; }
|
|
|
|
// interface AVMutableCaption_Styling
|
|
|
|
[Export ("setTextColor:inRange:")]
|
|
void SetTextColor (CGColor color, NSRange range);
|
|
|
|
[Export ("setBackgroundColor:inRange:")]
|
|
void SetBackgroundColor (CGColor color, NSRange range);
|
|
|
|
[Export ("setFontWeight:inRange:")]
|
|
void SetFontWeight (AVCaptionFontWeight fontWeight, NSRange range);
|
|
|
|
[Export ("setFontStyle:inRange:")]
|
|
void SetFontStyle (AVCaptionFontStyle fontStyle, NSRange range);
|
|
|
|
[Export ("setDecoration:inRange:")]
|
|
void SetDecoration (AVCaptionDecoration decoration, NSRange range);
|
|
|
|
[Export ("setTextCombine:inRange:")]
|
|
void SetTextCombine (AVCaptionTextCombine textCombine, NSRange range);
|
|
|
|
[Export ("setRuby:inRange:")]
|
|
void SetRuby (AVCaptionRuby ruby, NSRange range);
|
|
|
|
[Export ("removeTextColorInRange:")]
|
|
void RemoveTextColor (NSRange range);
|
|
|
|
[Export ("removeBackgroundColorInRange:")]
|
|
void RemoveBackgroundColor (NSRange range);
|
|
|
|
[Export ("removeFontWeightInRange:")]
|
|
void RemoveFontWeight (NSRange range);
|
|
|
|
[Export ("removeFontStyleInRange:")]
|
|
void RemoveFontStyle (NSRange range);
|
|
|
|
[Export ("removeDecorationInRange:")]
|
|
void RemoveDecoration (NSRange range);
|
|
|
|
[Export ("removeTextCombineInRange:")]
|
|
void RemoveTextCombine (NSRange range);
|
|
|
|
[Export ("removeRubyInRange:")]
|
|
void RemoveRuby (NSRange range);
|
|
|
|
// interface AVMutableCaption_Region
|
|
[Export ("region", ArgumentSemantic.Copy)]
|
|
AVCaptionRegion Region { get; set; }
|
|
|
|
[Export ("textAlignment", ArgumentSemantic.Assign)]
|
|
AVCaptionTextAlignment TextAlignment { get; set; }
|
|
|
|
// interface AVMutableCaption_Animation
|
|
[Export ("animation", ArgumentSemantic.Assign)]
|
|
AVCaptionAnimation Animation { get; set; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0)]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVCaptionRegion : NSCopying, NSMutableCopying, NSSecureCoding
|
|
{
|
|
[Static]
|
|
[Export ("appleITTTopRegion")]
|
|
AVCaptionRegion AppleIttTopRegion { get; }
|
|
|
|
[Static]
|
|
[Export ("appleITTBottomRegion")]
|
|
AVCaptionRegion AppleIttBottomRegion { get; }
|
|
|
|
[Static]
|
|
[Export ("appleITTLeftRegion")]
|
|
AVCaptionRegion AppleIttLeftRegion { get; }
|
|
|
|
[Static]
|
|
[Export ("appleITTRightRegion")]
|
|
AVCaptionRegion AppleIttRightRegion { get; }
|
|
|
|
[Static]
|
|
[Export ("subRipTextBottomRegion")]
|
|
AVCaptionRegion SubRipTextBottomRegion { get; }
|
|
|
|
[NullAllowed, Export ("identifier")]
|
|
string Identifier { get; }
|
|
|
|
#if MONOMAC // needed because the structs are inside a #if too
|
|
[Export ("origin")]
|
|
AVCaptionPoint Origin { get; }
|
|
|
|
[Export ("size")]
|
|
AVCaptionSize Size { get; }
|
|
|
|
[Export ("scroll")]
|
|
AVCaptionRegionScroll Scroll { get; }
|
|
|
|
[Export ("displayAlignment")]
|
|
AVCaptionRegionDisplayAlignment DisplayAlignment { get; }
|
|
|
|
[Export ("writingMode")]
|
|
AVCaptionRegionWritingMode WritingMode { get; }
|
|
#endif
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0)]
|
|
[BaseType (typeof(AVCaptionRegion))]
|
|
interface AVMutableCaptionRegion
|
|
{
|
|
[Export ("initWithIdentifier:")]
|
|
NativeHandle Constructor (string identifier);
|
|
|
|
#if MONOMAC // needed structs are inside a #if
|
|
[Export ("origin", ArgumentSemantic.Assign)]
|
|
AVCaptionPoint Origin { get; set; }
|
|
|
|
[Export ("size", ArgumentSemantic.Assign)]
|
|
AVCaptionSize Size { get; set; }
|
|
|
|
[Export ("scroll", ArgumentSemantic.Assign)]
|
|
AVCaptionRegionScroll Scroll { get; set; }
|
|
|
|
[Export ("displayAlignment", ArgumentSemantic.Assign)]
|
|
AVCaptionRegionDisplayAlignment DisplayAlignment { get; set; }
|
|
|
|
[Export ("writingMode", ArgumentSemantic.Assign)]
|
|
AVCaptionRegionWritingMode WritingMode { get; set; }
|
|
#endif
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionRuby : NSCopying, NSSecureCoding
|
|
{
|
|
[Export ("initWithText:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (string text);
|
|
|
|
[Export ("initWithText:position:alignment:")]
|
|
NativeHandle Constructor (string text, AVCaptionRubyPosition position, AVCaptionRubyAlignment alignment);
|
|
|
|
[Export ("text")]
|
|
string Text { get; }
|
|
|
|
[Export ("position")]
|
|
AVCaptionRubyPosition Position { get; }
|
|
|
|
[Export ("alignment")]
|
|
AVCaptionRubyAlignment Alignment { get; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionRendererScene : NSCopying
|
|
{
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; }
|
|
|
|
[Export ("hasActiveCaptions")]
|
|
bool HasActiveCaptions { get; }
|
|
|
|
[Export ("needsPeriodicRefresh")]
|
|
bool NeedsPeriodicRefresh { get; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVCaptionRenderer
|
|
{
|
|
[Export ("captions", ArgumentSemantic.Copy)]
|
|
AVCaption[] Captions { get; set; }
|
|
|
|
[Export ("bounds", ArgumentSemantic.Assign)]
|
|
CGRect Bounds { get; set; }
|
|
|
|
[Export ("captionSceneChangesInRange:")]
|
|
AVCaptionRendererScene[] GetCaptionSceneChanges (CMTimeRange consideredTimeRange);
|
|
|
|
[Export ("renderInContext:forTime:")]
|
|
void Render (CGContext ctx, CMTime time);
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
interface AVCaptionGrouper
|
|
{
|
|
[Export ("addCaption:")]
|
|
void AddCaption (AVCaption input);
|
|
|
|
[Export ("flushAddedCaptionsIntoGroupsUpToTime:")]
|
|
AVCaptionGroup[] FlushAddedCaptionsIntoGroupsUpToTime (CMTime upToTime);
|
|
}
|
|
|
|
|
|
[NoiOS, NoTV, NoMacCatalyst, Mac (12,0), NoWatch]
|
|
[Static]
|
|
[Internal]
|
|
interface AVCaptionSettingsKeys {
|
|
[Field ("AVCaptionMediaSubTypeKey")]
|
|
NSString MediaSubTypeKey { get;}
|
|
|
|
[Field ("AVCaptionMediaTypeKey")]
|
|
NSString MediaTypeKey { get; }
|
|
|
|
[Field ("AVCaptionTimeCodeFrameDurationKey")]
|
|
NSString UseTimeCodeFrameDurationKey { get; }
|
|
|
|
[Field ("AVCaptionUseDropFrameTimeCodeKey")]
|
|
NSString UseDropFrameTimeCodeKey { get; }
|
|
}
|
|
|
|
[NoiOS, NoTV, NoMacCatalyst, Mac (12,0), NoWatch]
|
|
[StrongDictionary ("AVCaptionSettingsKeys")]
|
|
interface AVCaptionSettings {
|
|
AVMediaTypes MediaSubType { get; set; }
|
|
AVMediaTypes MediaType { get; set; }
|
|
bool UseTimeCodeFrameDuration { get; set; }
|
|
bool UseDropFrameTimeCode { get; set; }
|
|
}
|
|
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionFormatConformer
|
|
{
|
|
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
|
[Static]
|
|
[Export ("captionFormatConformerWithConversionSettings:")]
|
|
AVCaptionFormatConformer CreateFromSettings (NSDictionary conversionSettings);
|
|
|
|
[Wrap ("CreateFromSettings (conversionSettings.GetDictionary ()!)")]
|
|
AVCaptionFormatConformer CreateFromSettings (AVCaptionSettings conversionSettings);
|
|
|
|
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
|
[Export ("initWithConversionSettings:")]
|
|
[DesignatedInitializer]
|
|
NativeHandle Constructor (NSDictionary conversionSettings);
|
|
|
|
[Wrap ("this (conversionSettings.GetDictionary ()!)")]
|
|
NativeHandle Constructor (AVCaptionSettings conversionSettings);
|
|
|
|
[Export ("conformsCaptionsToTimeRange")]
|
|
bool ConformsCaptionsToTimeRange { get; set; }
|
|
|
|
[Export ("conformedCaptionForCaption:error:")]
|
|
[return: NullAllowed]
|
|
AVCaption GetConformedCaption (AVCaption caption, [NullAllowed] out NSError outError);
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (12,0)]
|
|
enum AVCaptionConversionWarningType {
|
|
[Field ("AVCaptionConversionWarningTypeExcessMediaData")]
|
|
ExcessMediaData,
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionConversionWarning
|
|
{
|
|
[Export ("warningType")]
|
|
string WarningType { get; }
|
|
|
|
[Export ("rangeOfCaptions")]
|
|
NSRange RangeOfCaptions { get; }
|
|
|
|
[NullAllowed, Export ("adjustment")]
|
|
AVCaptionConversionAdjustment Adjustment { get; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionConversionValidator
|
|
{
|
|
[Static]
|
|
[Export ("captionConversionValidatorWithCaptions:timeRange:conversionSettings:")]
|
|
AVCaptionConversionValidator Create (AVCaption[] captions, CMTimeRange timeRange, NSDictionary<NSString, NSObject> conversionSettings);
|
|
|
|
[Export ("initWithCaptions:timeRange:conversionSettings:")]
|
|
NativeHandle Constructor (AVCaption[] captions, CMTimeRange timeRange, NSDictionary<NSString, NSObject> conversionSettings);
|
|
|
|
[Export ("status")]
|
|
AVCaptionConversionValidatorStatus Status { get; }
|
|
|
|
[Export ("captions")]
|
|
AVCaption[] Captions { get; }
|
|
|
|
[Export ("timeRange")]
|
|
CMTimeRange TimeRange { get; }
|
|
|
|
[Export ("validateCaptionConversionWithWarningHandler:")]
|
|
void ValidateCaptionConversion (Action<AVCaptionConversionWarning> handler);
|
|
|
|
[Export ("stopValidating")]
|
|
void StopValidating ();
|
|
|
|
[Export ("warnings")]
|
|
AVCaptionConversionWarning[] Warnings { get; }
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(AVCaptionConversionAdjustment))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionConversionTimeRangeAdjustment
|
|
{
|
|
[Export ("startTimeOffset")]
|
|
CMTime StartTimeOffset { get; }
|
|
|
|
[Export ("durationOffset")]
|
|
CMTime DurationOffset { get; }
|
|
}
|
|
|
|
[NoiOS, NoWatch, NoTV, NoMacCatalyst, Mac (12,0)]
|
|
enum AVCaptionConversionAdjustmentType {
|
|
[Field ("AVCaptionConversionAdjustmentTypeTimeRange")]
|
|
TimeRange,
|
|
}
|
|
|
|
[NoWatch, NoTV, NoiOS, Mac (12,0), NoMacCatalyst]
|
|
[BaseType (typeof(NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface AVCaptionConversionAdjustment
|
|
{
|
|
[Export ("adjustmentType")]
|
|
string AdjustmentType { get; }
|
|
}
|
|
|
|
}
|