AppCaptureMetadataWriter 클래스

정의

앱이 시스템에서 캡처된 비디오 파일 또는 앱 콘텐츠의 브로드캐스트 스트림에 삽입할 메타데이터를 저장할 수 있도록 합니다.

public ref class AppCaptureMetadataWriter sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Capture.AppCaptureMetadataContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Media.Capture.AppCaptureMetadataContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppCaptureMetadataWriter final : IClosable
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Capture.AppCaptureMetadataContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Media.Capture.AppCaptureMetadataContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppCaptureMetadataWriter : System.IDisposable
function AppCaptureMetadataWriter()
Public NotInheritable Class AppCaptureMetadataWriter
Implements IDisposable
상속
Object Platform::Object IInspectable AppCaptureMetadataWriter
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows Desktop Extension SDK (10.0.16299.0에서 도입되었습니다.)
API contract
Windows.Media.Capture.AppCaptureMetadataContract (v1.0에서 도입되었습니다.)

설명

AppCaptureMetadataWriter의 instance 만들 때 시스템은 앱에 대한 고유한 instance 초기화한 다음 메타데이터 항목을 작성할 준비가 됩니다. 한 번에 하나의 앱만 캡처하거나 브로드캐스트할 수 있지만 시스템은 여러 앱에 대한 메타데이터를 동시에 누적할 수 있습니다. AppCaptureMetadataWriter 는 현재 캡처 또는 브로드캐스트 상태를 시작하거나 수정하지 않습니다. 시스템에서 메타데이터를 메모리에 보관하려면 AppCaptureMetadataWriter의 instance 만들고 유지해야 합니다. AppCaptureMetadataWriter의 instance 릴리스되면 AppCaptureMetadataWriter의 해당 instance 연결된 모든 메타데이터도 릴리스됩니다.

메타데이터 항목을 작성할 때 시스템은 타임스탬프를 항목과 연결하여 해당 항목이 적용되는 캡처된 시간 범위 또는 브로드캐스트 시간 범위에 자동으로 포함되도록 합니다.

현재 두 가지 유형의 메타데이터 항목이 지원됩니다 . AppCaptureMetadataWriter: 이벤트 및 상태. 메타데이터 이벤트는 단일 시점과 연결되며 일반적으로 게임 내 플레이어와 같은 즉각적인 작업과 연결됩니다. 상태는 시간 창에 적용되는 메타데이터 항목입니다. 예를 들어 플레이어가 현재 있는 게임 맵의 이름이 들어 있는 상태입니다. 상태 값이 설정되면 시스템은 StopState 호출로 중지되거나 모든 상태가 StopAllStates 호출로 종료될 때까지 다른 값으로 설정될 때까지 해당 상태를 유지 관리합니다. 이벤트와 상태는 모두 키가 상태 또는 이벤트 이름이고 값이 정수, double 또는 문자열 값인 키/값 쌍으로 표시됩니다.

기록 앱 캡처를 사용하도록 설정하면 시스템이 적극적으로 캡처하거나 브로드캐스트하지 않는 경우에도 AppCaptureMetadataWriter 로 작성된 메타데이터를 누적합니다. 예를 들어 이전 30초의 캡처가 디스크의 비디오 파일에 기록되면 기록된 시간 창과 연결된 메타데이터가 파일에 포함됩니다. 시스템은 누적된 메타데이터를 저장하기 위해 앱당 할당되는 스토리지 공간에 제한을 적용합니다. RemainingStorageBytesAvailable 속성을 확인하여 현재 사용 가능한 스토리지 공간을 가져올 수 있습니다.

할당된 모든 공간이 채워지면 시스템은 메타데이터 항목이 작성될 때 지정된 AppCaptureMetadataPriority 값과 가장 오래되고 가장 중요하지 않은 데이터를 먼저 삭제하기 위해 각 항목의 기간을 사용하여 메타데이터를 삭제하기 시작합니다. 이 경우 MetadataPurged 이벤트가 발생합니다. 이 이벤트에 대한 응답으로 앱이 작성하는 메타데이터의 양을 줄이도록 선택할 수 있지만 필요하지는 않습니다.

메타데이터 항목은 AppCaptureMetadataPriority 열거형에 지정된 대로 중요 또는 정보로 분류됩니다. 중요 우선 순위는 메타데이터가 Xbox Live 서비스에 업로드됨을 의미합니다. 메타데이터는 사용자가 클립을 검색하거나 브로드캐스트에 주석을 추가하는 데 사용됩니다. 중요정보 메타데이터는 모두 생성된 .mp4 파일에 포함되므로 메타데이터에 개인 사용자 정보를 포함하지 않아야 합니다.

이 API는 유휴 시간 제한으로 인해 백그라운드 서비스가 종료된 경우 오류가 발생할 수 있습니다.

생성자

AppCaptureMetadataWriter()

AppCaptureMetadataWriter 클래스의 새 instance 초기화합니다.

속성

RemainingStorageBytesAvailable

앱 캡처 메타데이터 항목에 대해 시스템에서 할당한 스토리지 공간에 남아 있는 바이트 수를 가져옵니다.

메서드

AddDoubleEvent(String, Double, AppCaptureMetadataPriority)

새 이중 메타데이터 이벤트를 추가합니다.

AddInt32Event(String, Int32, AppCaptureMetadataPriority)

새 정수 메타데이터 이벤트를 추가합니다.

AddStringEvent(String, String, AppCaptureMetadataPriority)

새 문자열 메타데이터 이벤트를 추가합니다.

Close()

개체 및 연결된 리소스를 삭제합니다.

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

StartDoubleState(String, Double, AppCaptureMetadataPriority)

새 이중 메타데이터 상태를 추가합니다.

StartInt32State(String, Int32, AppCaptureMetadataPriority)

새 이중 메타데이터 상태를 추가합니다.

StartStringState(String, String, AppCaptureMetadataPriority)

새 이중 메타데이터 상태를 추가합니다.

StopAllStates()

모든 메타데이터 상태를 중지합니다.

StopState(String)

지정된 식별자를 사용하여 메타데이터 상태를 중지합니다.

이벤트

MetadataPurged

시스템이 이전에 저장된 메타데이터 항목을 제거할 때 발생합니다.

적용 대상