AVFoundation框架解析(九)—— AVFoundation的变化(一)

版本记录

版本号 时间
V1.0 2017.09.01

前言

AVFoundation框架是ios中很重要的框架,所有与视频音频相关的软硬件控制都在这个框架里面,接下来这几篇就主要对这个框架进行介绍和讲解。感兴趣的可以看我上几篇。
1. AVFoundation框架解析(一)—— 基本概览
2. AVFoundation框架解析(二)—— 实现视频预览录制保存到相册
3. AVFoundation框架解析(三)—— 几个关键问题之关于框架的深度概括
4. AVFoundation框架解析(四)—— 几个关键问题之AVFoundation探索(一)
5. AVFoundation框架解析(五)—— 几个关键问题之AVFoundation探索(二)
6. AVFoundation框架解析(六)—— 视频音频的合成(一)
7. AVFoundation框架解析(七)—— 视频组合和音频混合调试
8. AVFoundation框架解析(八)—— 优化用户的播放体验

AVFoundation的变化

我写这篇文章的时候是2017-09-01,文档中列出了AVFoundation框架的更新和改变,下面我就给大家列出来一下。


AVAnimation.h

Added AVCoreAnimationBeginTimeAtZero
Added AVLayerVideoGravityResize
Added AVLayerVideoGravityResizeAspect
Added AVLayerVideoGravityResizeAspectFill


AVAsset.h

Added AVAsset
Added +[AVAsset assetWithURL:]
Added AVAsset.availableChapterLocales
Added AVAsset.availableMetadataFormats
Added -[AVAsset cancelLoading]
Added -[AVAsset chapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:]
Added AVAsset.commonMetadata
Added AVAsset.composable
Added AVAsset.duration
Added AVAsset.exportable
Added AVAsset.hasProtectedContent
Added AVAsset.lyrics
Added -[AVAsset metadataForFormat:]
Added AVAsset.naturalSize
Added AVAsset.playable
Added AVAsset.preferredRate
Added AVAsset.preferredTransform
Added AVAsset.preferredVolume
Added AVAsset.providesPreciseDurationAndTiming
Added AVAsset.readable
Added AVAsset.referenceRestrictions
Added -[AVAsset trackWithTrackID:]
Added AVAsset.tracks
Added -[AVAsset tracksWithMediaCharacteristic:]
Added -[AVAsset tracksWithMediaType:]
Added AVURLAsset
Added AVURLAsset.URL
Added +[AVURLAsset URLAssetWithURL:options:]
Added +[AVURLAsset audiovisualMIMETypes]
Added +[AVURLAsset audiovisualTypes]
Added -[AVURLAsset compatibleTrackForCompositionTrack:]
Added -[AVURLAsset initWithURL:options:]
Added +[AVURLAsset isPlayableExtendedMIMEType:]
Added AVAsset(AVAssetAsynchronousLoading)
Added AVAsset(AVAssetChapterInspection)
Added AVAsset(AVAssetMetadataReading)
Added AVAsset(AVAssetProtectedContent)
Added AVAsset(AVAssetReferenceRestrictions)
Added AVAsset(AVAssetTrackInspection)
Added AVAsset(AVAssetUsability)
Added AVAssetReferenceRestrictionForbidAll
Added AVAssetReferenceRestrictionForbidCrossSiteReference
Added AVAssetReferenceRestrictionForbidLocalReferenceToLocal
Added AVAssetReferenceRestrictionForbidLocalReferenceToRemote
Added AVAssetReferenceRestrictionForbidNone
Added AVAssetReferenceRestrictionForbidRemoteReferenceToLocal
Added AVURLAsset(AVAssetCompositionUtility)
Added AVURLAssetPreferPreciseDurationAndTimingKey
Added AVURLAssetReferenceRestrictionsKey


AVAssetExportSession.h

Added AVAssetExportSession
Added +[AVAssetExportSession allExportPresets]
Added AVAssetExportSession.audioMix
Added -[AVAssetExportSession cancelExport]
Added AVAssetExportSession.error
Added -[AVAssetExportSession exportAsynchronouslyWithCompletionHandler:]
Added +[AVAssetExportSession exportPresetsCompatibleWithAsset:]
Added +[AVAssetExportSession exportSessionWithAsset:presetName:]
Added AVAssetExportSession.fileLengthLimit (no architecture available)
Added -[AVAssetExportSession initWithAsset:presetName:]
Added AVAssetExportSession.maxDuration (no architecture available)
Added AVAssetExportSession.metadata
Added AVAssetExportSession.outputFileType
Added AVAssetExportSession.outputURL
Added AVAssetExportSession.presetName
Added AVAssetExportSession.progress
Added AVAssetExportSession.shouldOptimizeForNetworkUse
Added AVAssetExportSession.status
Added AVAssetExportSession.supportedFileTypes
Added AVAssetExportSession.timeRange
Added AVAssetExportSession.videoComposition
Added AVAssetExportPreset1280x720
Added AVAssetExportPreset1920x1080
Added AVAssetExportPreset640x480
Added AVAssetExportPreset960x540
Added AVAssetExportPresetAppleM4A
Added AVAssetExportPresetAppleM4V480pSD
Added AVAssetExportPresetAppleM4V720pHD
Added AVAssetExportPresetAppleM4VAppleTV
Added AVAssetExportPresetAppleM4VCellular
Added AVAssetExportPresetAppleM4VWiFi
Added AVAssetExportPresetAppleM4ViPod
Added AVAssetExportPresetAppleProRes422LPCM
Added AVAssetExportPresetPassthrough
Added AVAssetExportSessionStatus
Added AVAssetExportSessionStatusCancelled
Added AVAssetExportSessionStatusCompleted
Added AVAssetExportSessionStatusExporting
Added AVAssetExportSessionStatusFailed
Added AVAssetExportSessionStatusUnknown
Added AVAssetExportSessionStatusWaiting


AVAssetImageGenerator.h

Added AVAssetImageGenerator
Added AVAssetImageGenerator.apertureMode
Added AVAssetImageGenerator.appliesPreferredTrackTransform
Added +[AVAssetImageGenerator assetImageGeneratorWithAsset:]
Added -[AVAssetImageGenerator cancelAllCGImageGeneration]
Added -[AVAssetImageGenerator copyCGImageAtTime:actualTime:error:]
Added -[AVAssetImageGenerator generateCGImagesAsynchronouslyForTimes:completionHandler:]
Added -[AVAssetImageGenerator initWithAsset:]
Added AVAssetImageGenerator.maximumSize
Added AVAssetImageGenerator.requestedTimeToleranceAfter
Added AVAssetImageGenerator.requestedTimeToleranceBefore
Added AVAssetImageGenerator.videoComposition
Added AVAssetImageGeneratorApertureModeCleanAperture
Added AVAssetImageGeneratorApertureModeEncodedPixels
Added AVAssetImageGeneratorApertureModeProductionAperture
Added AVAssetImageGeneratorCancelled
Added AVAssetImageGeneratorCompletionHandler
Added AVAssetImageGeneratorFailed
Added AVAssetImageGeneratorResult
Added AVAssetImageGeneratorSucceeded


AVAssetReader.h

Added AVAssetReader
Added -[AVAssetReader addOutput:]
Added AVAssetReader.asset
Added +[AVAssetReader assetReaderWithAsset:error:]
Added -[AVAssetReader canAddOutput:]
Added -[AVAssetReader cancelReading]
Added AVAssetReader.error
Added -[AVAssetReader initWithAsset:error:]
Added AVAssetReader.outputs
Added -[AVAssetReader startReading]
Added AVAssetReader.status
Added AVAssetReader.timeRange
Added AVAssetReaderStatus
Added AVAssetReaderStatusCancelled
Added AVAssetReaderStatusCompleted
Added AVAssetReaderStatusFailed
Added AVAssetReaderStatusReading
Added AVAssetReaderStatusUnknown


AVAssetReaderOutput.h

Added AVAssetReaderAudioMixOutput
Added +[AVAssetReaderAudioMixOutput assetReaderAudioMixOutputWithAudioTracks:audioSettings:]
Added AVAssetReaderAudioMixOutput.audioMix
Added AVAssetReaderAudioMixOutput.audioSettings
Added AVAssetReaderAudioMixOutput.audioTracks
Added -[AVAssetReaderAudioMixOutput initWithAudioTracks:audioSettings:]
Added AVAssetReaderOutput
Added -[AVAssetReaderOutput copyNextSampleBuffer]
Added AVAssetReaderOutput.mediaType
Added AVAssetReaderTrackOutput
Added +[AVAssetReaderTrackOutput assetReaderTrackOutputWithTrack:outputSettings:]
Added -[AVAssetReaderTrackOutput initWithTrack:outputSettings:]
Added AVAssetReaderTrackOutput.outputSettings
Added AVAssetReaderTrackOutput.track
Added AVAssetReaderVideoCompositionOutput
Added +[AVAssetReaderVideoCompositionOutput assetReaderVideoCompositionOutputWithVideoTracks:videoSettings:]
Added -[AVAssetReaderVideoCompositionOutput initWithVideoTracks:videoSettings:]
Added AVAssetReaderVideoCompositionOutput.videoComposition
Added AVAssetReaderVideoCompositionOutput.videoSettings
Added AVAssetReaderVideoCompositionOutput.videoTracks


AVAssetTrack.h

Added AVAssetTrack
Added AVAssetTrack.asset
Added AVAssetTrack.availableMetadataFormats
Added AVAssetTrack.commonMetadata
Added AVAssetTrack.enabled
Added AVAssetTrack.estimatedDataRate
Added AVAssetTrack.extendedLanguageTag
Added AVAssetTrack.formatDescriptions
Added -[AVAssetTrack hasMediaCharacteristic:]
Added AVAssetTrack.languageCode
Added AVAssetTrack.mediaType
Added -[AVAssetTrack metadataForFormat:]
Added AVAssetTrack.naturalSize
Added AVAssetTrack.naturalTimeScale
Added AVAssetTrack.nominalFrameRate
Added AVAssetTrack.preferredTransform
Added AVAssetTrack.preferredVolume
Added -[AVAssetTrack samplePresentationTimeForTrackTime:]
Added -[AVAssetTrack segmentForTrackTime:]
Added AVAssetTrack.segments
Added AVAssetTrack.selfContained
Added AVAssetTrack.timeRange
Added AVAssetTrack.totalSampleDataLength
Added AVAssetTrack.trackID
Added AVAssetTrack(AVAssetTrackBasicPropertiesAndCharacteristics)
Added AVAssetTrack(AVAssetTrackLanguageProperties)
Added AVAssetTrack(AVAssetTrackMetadataReading)
Added AVAssetTrack(AVAssetTrackPropertiesForAudibleCharacteristic)
AddedAVAssetTrack(AVAssetTrackPropertiesForFrameBasedCharacteristic)
Added AVAssetTrack(AVAssetTrackPropertiesForVisualCharacteristic)
Added AVAssetTrack(AVAssetTrackSegments)
Added AVAssetTrack(AVAssetTrackTemporalProperties)


AVAssetTrackSegment.h

Added AVAssetTrackSegment
Added AVAssetTrackSegment.empty
Added AVAssetTrackSegment.timeMapping


AVAssetWriter.h

Added AVAssetWriter
Added -[AVAssetWriter addInput:]
Added +[AVAssetWriter assetWriterWithURL:fileType:error:]
Added AVAssetWriter.availableMediaTypes
Added -[AVAssetWriter canAddInput:]
Added -[AVAssetWriter canApplyOutputSettings:forMediaType:]
Added -[AVAssetWriter cancelWriting]
Added -[AVAssetWriter endSessionAtSourceTime:]
Added AVAssetWriter.error
Added -[AVAssetWriter finishWriting]
Added -[AVAssetWriter initWithURL:fileType:error:]
Added AVAssetWriter.inputs
Added AVAssetWriter.metadata
Added AVAssetWriter.movieFragmentInterval
Added AVAssetWriter.movieTimeScale
Added AVAssetWriter.outputFileType
Added AVAssetWriter.outputURL
Added AVAssetWriter.shouldOptimizeForNetworkUse
Added -[AVAssetWriter startSessionAtSourceTime:]
Added -[AVAssetWriter startWriting]
Added AVAssetWriter.status
Added AVAssetWriter(AVAssetWriterFileTypeSpecificProperties)
Added AVAssetWriterStatus
Added AVAssetWriterStatusCancelled
Added AVAssetWriterStatusCompleted
Added AVAssetWriterStatusFailed
Added AVAssetWriterStatusUnknown
Added AVAssetWriterStatusWriting


AVAssetWriterInput.h

Added AVAssetWriterInput
Added -[AVAssetWriterInput appendSampleBuffer:]
Added +[AVAssetWriterInput assetWriterInputWithMediaType:outputSettings:]
Added AVAssetWriterInput.expectsMediaDataInRealTime
Added -[AVAssetWriterInput initWithMediaType:outputSettings:]
Added -[AVAssetWriterInput markAsFinished]
Added AVAssetWriterInput.mediaTimeScale
Added AVAssetWriterInput.mediaType
Added AVAssetWriterInput.metadata
Added AVAssetWriterInput.outputSettings
Added AVAssetWriterInput.readyForMoreMediaData
Added -[AVAssetWriterInput requestMediaDataWhenReadyOnQueue:usingBlock:]
Added AVAssetWriterInput.transform
Added AVAssetWriterInputPixelBufferAdaptor
Added -[AVAssetWriterInputPixelBufferAdaptor appendPixelBuffer:withPresentationTime:]
Added AVAssetWriterInputPixelBufferAdaptor.assetWriterInput
Added +[AVAssetWriterInputPixelBufferAdaptor assetWriterInputPixelBufferAdaptorWithAssetWriterInput:sourcePixelBufferAttributes:]
Added -[AVAssetWriterInputPixelBufferAdaptor initWithAssetWriterInput:sourcePixelBufferAttributes:]
Added AVAssetWriterInputPixelBufferAdaptor.pixelBufferPool
AddedAVAssetWriterInputPixelBufferAdaptor.sourcePixelBufferAttributes
AddedAVAssetWriterInput(AVAssetWriterInputFileTypeSpecificProperties)
AddedAVAssetWriterInput(AVAssetWriterInputPropertiesForVisualCharacteristic)


AVAsynchronousKeyValueLoading.h

Added AVAsynchronousKeyValueLoading
Added -[AVAsynchronousKeyValueLoading loadValuesAsynchronouslyForKeys:completionHandler:]
Added -[AVAsynchronousKeyValueLoading statusOfValueForKey:error:]
Added AVKeyValueStatus
Added AVKeyValueStatusCancelled
Added AVKeyValueStatusFailed
Added AVKeyValueStatusLoaded
Added AVKeyValueStatusLoading
Added AVKeyValueStatusUnknown


AVAudioMix.h

Added AVAudioMix
Added AVAudioMix.inputParameters
Added AVAudioMixInputParameters
Added -[AVAudioMixInputParameters getVolumeRampForTime:startVolume:endVolume:timeRange:]
Added AVAudioMixInputParameters.trackID
Added AVMutableAudioMix
Added +[AVMutableAudioMix audioMix]
Added AVMutableAudioMix.inputParameters
Added AVMutableAudioMixInputParameters
Added +[AVMutableAudioMixInputParameters audioMixInputParameters]
Added +[AVMutableAudioMixInputParameters audioMixInputParametersWithTrack:]
Added -[AVMutableAudioMixInputParameters setVolume:atTime:]
Added -[AVMutableAudioMixInputParameters setVolumeRampFromStartVolume:toEndVolume:timeRange:]
Added AVMutableAudioMixInputParameters.trackID


AVAudioPlayer.h

Added AVAudioPlayer
Added -[AVAudioPlayer averagePowerForChannel:]
Added AVAudioPlayer.currentTime
Added AVAudioPlayer.data
Added AVAudioPlayer.delegate
Added AVAudioPlayer.deviceCurrentTime
Added AVAudioPlayer.duration
Added -[AVAudioPlayer initWithContentsOfURL:error:]
Added -[AVAudioPlayer initWithData:error:]
Added AVAudioPlayer.meteringEnabled
Added AVAudioPlayer.numberOfChannels
Added AVAudioPlayer.numberOfLoops
Added AVAudioPlayer.pan
Added -[AVAudioPlayer pause]
Added -[AVAudioPlayer peakPowerForChannel:]
Added -[AVAudioPlayer play]
Added -[AVAudioPlayer playAtTime:]
Added AVAudioPlayer.playing
Added -[AVAudioPlayer prepareToPlay]
Added AVAudioPlayer.settings
Added -[AVAudioPlayer stop]
Added -[AVAudioPlayer updateMeters]
Added AVAudioPlayer.url
Added AVAudioPlayer.volume
Added AVAudioPlayerDelegate
Added -[AVAudioPlayerDelegate audioPlayerBeginInterruption:] (no architecture available)
Added -[AVAudioPlayerDelegate audioPlayerDecodeErrorDidOccur:error:]
Added -[AVAudioPlayerDelegate audioPlayerDidFinishPlaying:successfully:]
Added -[AVAudioPlayerDelegate audioPlayerEndInterruption:] (no architecture available)


AVAudioRecorder.h

Added AVAudioRecorder
Added -[AVAudioRecorder averagePowerForChannel:]
Added AVAudioRecorder.currentTime
Added AVAudioRecorder.delegate
Added -[AVAudioRecorder deleteRecording]
Added -[AVAudioRecorder initWithURL:settings:error:]
Added AVAudioRecorder.meteringEnabled
Added -[AVAudioRecorder pause]
Added -[AVAudioRecorder peakPowerForChannel:]
Added -[AVAudioRecorder prepareToRecord]
Added -[AVAudioRecorder record]
Added -[AVAudioRecorder recordForDuration:]
Added AVAudioRecorder.recording
Added AVAudioRecorder.settings
Added -[AVAudioRecorder stop]
Added -[AVAudioRecorder updateMeters]
Added AVAudioRecorder.url
Added AVAudioRecorderDelegate
Added -[AVAudioRecorderDelegate audioRecorderBeginInterruption:](no architecture available)
Added -[AVAudioRecorderDelegate audioRecorderDidFinishRecording:successfully:]
Added -[AVAudioRecorderDelegate audioRecorderEncodeErrorDidOccur:error:]
Added -[AVAudioRecorderDelegate audioRecorderEndInterruption:] (no architecture available)


AVAudioSettings.h

Added AVAudioQuality
Added AVAudioQualityHigh
Added AVAudioQualityLow
Added AVAudioQualityMax
Added AVAudioQualityMedium
Added AVAudioQualityMin
Added AVChannelLayoutKey
Added AVEncoderAudioQualityKey
Added AVEncoderBitDepthHintKey
Added AVEncoderBitRateKey
Added AVEncoderBitRatePerChannelKey
Added AVFormatIDKey
Added AVLinearPCMBitDepthKey
Added AVLinearPCMIsBigEndianKey
Added AVLinearPCMIsFloatKey
Added AVLinearPCMIsNonInterleaved
Added #def AVLinearPCMIsNonInterleavedKey
Added AVNumberOfChannelsKey
Added AVSampleRateConverterAudioQualityKey
Added AVSampleRateKey


AVBase.h

Added #def AVF_EXPORT
Added #def NS_CLASS_AVAILABLE


AVCaptureDevice.h

Added AVCaptureDevice
Added AVCaptureDevice.activeFormat
Added AVCaptureDevice.activeInputSource
Added AVCaptureDevice.activeVideoMinFrameDuration
Added AVCaptureDevice.adjustingExposure
Added AVCaptureDevice.adjustingFocus
Added AVCaptureDevice.adjustingWhiteBalance
Added AVCaptureDevice.connected
Added +[AVCaptureDevice defaultDeviceWithMediaType:]
Added +[AVCaptureDevice deviceWithUniqueID:]
Added +[AVCaptureDevice devices]
Added +[AVCaptureDevice devicesWithMediaType:]
Added AVCaptureDevice.exposureMode
Added AVCaptureDevice.exposurePointOfInterest
Added AVCaptureDevice.exposurePointOfInterestSupported
Added AVCaptureDevice.flashMode
Added AVCaptureDevice.focusMode
Added AVCaptureDevice.focusPointOfInterest
Added AVCaptureDevice.focusPointOfInterestSupported
Added AVCaptureDevice.formats
Added AVCaptureDevice.hasFlash
Added -[AVCaptureDevice hasMediaType:]
Added AVCaptureDevice.hasTorch
Added AVCaptureDevice.inUseByAnotherApplication
Added AVCaptureDevice.inputSources
Added -[AVCaptureDevice isExposureModeSupported:]
Added -[AVCaptureDevice isFlashModeSupported:]
Added -[AVCaptureDevice isFocusModeSupported:]
Added -[AVCaptureDevice isTorchModeSupported:]
Added -[AVCaptureDevice isWhiteBalanceModeSupported:]
Added AVCaptureDevice.linkedDevices
Added AVCaptureDevice.localizedName
Added -[AVCaptureDevice lockForConfiguration:]
Added AVCaptureDevice.modelID
Added AVCaptureDevice.position
Added -[AVCaptureDevice setTransportControlsPlaybackMode:speed:]
Added -[AVCaptureDevice supportsAVCaptureSessionPreset:]
Added AVCaptureDevice.suspended
Added AVCaptureDevice.torchMode
Added AVCaptureDevice.transportControlsPlaybackMode
Added AVCaptureDevice.transportControlsSpeed
Added AVCaptureDevice.transportControlsSupported
Added AVCaptureDevice.transportType
Added AVCaptureDevice.uniqueID
Added -[AVCaptureDevice unlockForConfiguration]
Added AVCaptureDevice.whiteBalanceMode
Added AVCaptureDeviceFormat
Added AVCaptureDeviceFormat.formatDescription
Added AVCaptureDeviceFormat.mediaType
Added AVCaptureDeviceFormat.videoSupportedFrameRateRanges
Added AVCaptureDeviceInputSource
Added AVCaptureDeviceInputSource.inputSourceID
Added AVCaptureDeviceInputSource.localizedName
Added AVFrameRateRange
Added AVFrameRateRange.maxFrameDuration
Added AVFrameRateRange.maxFrameRate
Added AVFrameRateRange.minFrameDuration
Added AVFrameRateRange.minFrameRate
Added AVCaptureDevice(AVCaptureDeviceExposure)
Added AVCaptureDevice(AVCaptureDeviceFlash)
Added AVCaptureDevice(AVCaptureDeviceFocus)
Added AVCaptureDevice(AVCaptureDevicePosition)
Added AVCaptureDevice(AVCaptureDeviceTorch)
Added AVCaptureDevice(AVCaptureDeviceTransportControls)
Added AVCaptureDevice(AVCaptureDeviceWhiteBalance)
Added AVCaptureDevicePosition
Added AVCaptureDevicePositionBack
Added AVCaptureDevicePositionFront
Added AVCaptureDevicePositionUnspecified
Added AVCaptureDeviceTransportControlsNotPlayingMode
Added AVCaptureDeviceTransportControlsPlaybackMode
Added AVCaptureDeviceTransportControlsPlayingMode
Added AVCaptureDeviceTransportControlsSpeed
Added AVCaptureDeviceWasConnectedNotification
Added AVCaptureDeviceWasDisconnectedNotification
Added AVCaptureExposureMode
Added AVCaptureExposureModeAutoExpose
Added AVCaptureExposureModeContinuousAutoExposure
Added AVCaptureExposureModeLocked
Added AVCaptureFlashMode
Added AVCaptureFlashModeAuto
Added AVCaptureFlashModeOff
Added AVCaptureFlashModeOn
Added AVCaptureFocusMode
Added AVCaptureFocusModeAutoFocus
Added AVCaptureFocusModeContinuousAutoFocus
Added AVCaptureFocusModeLocked
Added AVCaptureTorchMode
Added AVCaptureTorchModeAuto
Added AVCaptureTorchModeOff
Added AVCaptureTorchModeOn
Added AVCaptureWhiteBalanceMode
Added AVCaptureWhiteBalanceModeAutoWhiteBalance
Added AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance
Added AVCaptureWhiteBalanceModeLocked


AVCaptureInput.h

Added AVCaptureDeviceInput
Added AVCaptureDeviceInput.device
Added +[AVCaptureDeviceInput deviceInputWithDevice:error:]
Added -[AVCaptureDeviceInput initWithDevice:error:]
Added AVCaptureInput
Added AVCaptureInput.ports
Added AVCaptureInputPort
Added AVCaptureInputPort.enabled
Added AVCaptureInputPort.formatDescription
Added AVCaptureInputPort.input
Added AVCaptureInputPort.mediaType
Added AVCaptureScreenInput
Added AVCaptureScreenInput.capturesMouseClicks
Added AVCaptureScreenInput.cropRect
Added -[AVCaptureScreenInput initWithDisplayID:]
Added AVCaptureScreenInput.minFrameDuration
Added AVCaptureScreenInput.scaleFactor
Added AVCaptureInputPortFormatDescriptionDidChangeNotification

后记

未完,待续~~~

AVFoundation框架解析(九)—— AVFoundation的变化(一)_第1张图片

你可能感兴趣的:(AVFoundation框架解析(九)—— AVFoundation的变化(一))