VideoProperties VideoProperties VideoProperties VideoProperties Class

Provides access to the video-related properties of an item (like a file or folder).

Syntax

Declaration

public sealed class VideoPropertiespublic sealed class VideoPropertiesPublic NotInheritable Class VideoProperties

Remarks

You can access a VideoProperties object asynchronously using the GetVideoPropertiesAsync() method from the Properties property of an item (like a file of folder), or synchronously using the VideoProperties property if it is available. You can get a VideoProperties object using any of the following methods and properties:

Note

Properties that are get or set using a property handler that is defined by another app (like Microsoft Word) may not be accessible. Instead, you can try to get these properties using a file query that is backed by the system index. For more information, see QueryOptions.

For more code samples about accessing properties, see the File access sample.

Examples

This example demonstrates how to retrieve properties of a file, including video properties like Year and Rating.


try
{
    StorageFile file = rootPage.sampleFile;
    if (file != null)
    {
        StringBuilder outputText = new StringBuilder();

        // Get video properties
        VideoProperties videoProperties = await file.Properties.GetVideoPropertiesAsync();
        outputText.AppendLine("Year: " + videoProperties.Year);
        outputText.AppendLine("Rating: " + videoProperties.Rating);
    }
}
// Handle errors with catch blocks
catch (FileNotFoundException)
{
 // For example, handle a file not found error
}

var file = SdkSample.sampleFile;
if (file !== null) {
    var outputDiv = document.getElementById("output");

    // Get video properties
    file.properties.getVideoPropertiesAsync().done(function (videoProperties) {
        outputDiv.innerHTML += "Year: " + videoProperties.year + "<br/>";
        outputDiv.innerHTML += "Rating: " + videoProperties.rating + "<br/>";
    },
    // Handle errors with an error function
    function (error) {
       // Handle errors encountered while retrieving properties
    });
}

After GetVideoPropertiesAsync() completes, videoProperties gets a VideoProperties object.

In the example, file contains a StorageFile that represents the file to retrieve properties for.

Properties summary

Gets the sum audio and video bitrate of the video.

Gets the directors of the video.

Gets the duration of the video.

Gets the height of the video.

Gets the collection of keywords associated with the video.

Gets the latitude coordinate where the video was shot.

Gets the longitude coordinate where the video was shot.

Gets a VideoOrientation value that indicates how the video should be rotated to display it correctly.

Gets the producers of the video.

Gets or sets the publisher of the video.

Gets or sets the rating associated with a video file.

Gets or sets the subtitle of the video.

Gets or sets the title of the video.

Gets the width of the video.

Gets the script writers for the video.

Gets or sets the year that the video was shot or released.

Methods summary

Retrieves the specified properties associated with the item.

Saves all properties associated with the item.

Saves the specified properties and values associated with the item.

Properties

  • Bitrate
    Bitrate
    Bitrate
    Bitrate

    Gets the sum audio and video bitrate of the video.

    public uint Bitrate { get; }public uint Bitrate { get; }Public ReadOnly Property Bitrate As uint

    Property Value

    • uint
      uint
      uint
      uint

      The video's sum audio and video bitrate.

  • Directors
    Directors
    Directors
    Directors

    Gets the directors of the video.

    public IVector<string> Directors { get; }public IVector<string> Directors { get; }Public ReadOnly Property Directors As IVector<string>

    Property Value

    • A list of the names of the video's directors.

    Remarks

    This property is read-only. It returns a collection, and you can't delete or replace the collection itself. The contents of the collection, however, are not read-only. You can add items to the collection, remove items from the collection, and change existing items in the collection. Call the SavePropertiesAsync method of the parent class to save the updated contents of the collection.

  • Duration
    Duration
    Duration
    Duration

    Gets the duration of the video.

    public TimeSpan Duration { get; }public TimeSpan Duration { get; }Public ReadOnly Property Duration As TimeSpan

    Property Value

  • Height
    Height
    Height
    Height

    Gets the height of the video.

    public uint Height { get; }public uint Height { get; }Public ReadOnly Property Height As uint

    Property Value

    • uint
      uint
      uint
      uint

      The height of the video, in pixels.

  • Keywords
    Keywords
    Keywords
    Keywords

    Gets the collection of keywords associated with the video.

    public IVector<string> Keywords { get; }public IVector<string> Keywords { get; }Public ReadOnly Property Keywords As IVector<string>

    Property Value

    • The collection of keywords.

    Remarks

    This property is read-only, similar to the Directors property.

  • Latitude
    Latitude
    Latitude
    Latitude

    Gets the latitude coordinate where the video was shot.

    public IReference<double> Latitude { get; }public IReference<double> Latitude { get; }Public ReadOnly Property Latitude As IReference<double>

    Property Value

    Remarks

    To set the latitude or longitude of the video, you must set all four of the file properties that are used to compute the latitude or longitude coordinates.

    For code examples that demonstrate working with Latitude, Longitude and their underlying file properties, see the Simple imaging sample.

  • Longitude
    Longitude
    Longitude
    Longitude

    Gets the longitude coordinate where the video was shot.

    public IReference<double> Longitude { get; }public IReference<double> Longitude { get; }Public ReadOnly Property Longitude As IReference<double>

    Property Value

  • Orientation
    Orientation
    Orientation
    Orientation

    Gets a VideoOrientation value that indicates how the video should be rotated to display it correctly.

    public VideoOrientation Orientation { get; }public VideoOrientation Orientation { get; }Public ReadOnly Property Orientation As VideoOrientation

    Property Value

  • Producers
    Producers
    Producers
    Producers

    Gets the producers of the video.

    public IVector<string> Producers { get; }public IVector<string> Producers { get; }Public ReadOnly Property Producers As IVector<string>

    Property Value

    • A list of the names of the video's producers.

    Remarks

    This property is read-only, similar to the Directors property.

  • Publisher
    Publisher
    Publisher
    Publisher

    Gets or sets the publisher of the video.

    public string Publisher { get; set; }public string Publisher { get; set; }Public ReadWrite Property Publisher As string

    Property Value

    • string
      string
      string
      string

      The name of the video's publisher.

  • Rating
    Rating
    Rating
    Rating

    Gets or sets the rating associated with a video file.

    public uint Rating { get; set; }public uint Rating { get; set; }Public ReadWrite Property Rating As uint

    Property Value

    • uint
      uint
      uint
      uint

      The media file rating, as a value between 0 and 99.

    Remarks

    The rating property for this media file type is obtained from the Windows file properties, specifically from System.Rating. System.Rating has a value from 0 to 99. A value of 0 indicates that the file has not been rated.

    Rating info is often presented to the user as a “star” metaphor, where a star rating can be from 0 to 5 stars. This is shown as the outline of 5 star shapes, with the current rating indicated by a horizontal color bar within the 5 star shapes. For more info, see Guidelines for the Rating control.

    For HTML UI, the Rating control implements a star-rating behavior, but you’ll have convert a Rating property value into the star-count values that the Rating control uses for its properties.

    For XAML UI there is no default rating control in the Windows Runtime XAML vocabulary. However, several third-party control vendors have created a XAML rating control.

    Here’s some suggested logic for converting the 0-99 possible value of a Rating property to an integer value between 0 and 5 that is suitable for a 5-star UI presentation metaphor, and for the Rating control: uint starRating = rating == 0 ? 0 : (uint)Math.Round((double)rating / 25.0) + 1;.

  • Subtitle
    Subtitle
    Subtitle
    Subtitle

    Gets or sets the subtitle of the video.

    public string Subtitle { get; set; }public string Subtitle { get; set; }Public ReadWrite Property Subtitle As string

    Property Value

    • string
      string
      string
      string

      The video's subtitle.

  • Title
    Title
    Title
    Title

    Gets or sets the title of the video.

    public string Title { get; set; }public string Title { get; set; }Public ReadWrite Property Title As string

    Property Value

    • string
      string
      string
      string

      The video's title.

  • Width
    Width
    Width
    Width

    Gets the width of the video.

    public uint Width { get; }public uint Width { get; }Public ReadOnly Property Width As uint

    Property Value

    • uint
      uint
      uint
      uint

      The width of the video, in pixels.

  • Writers
    Writers
    Writers
    Writers

    Gets the script writers for the video.

    public IVector<string> Writers { get; }public IVector<string> Writers { get; }Public ReadOnly Property Writers As IVector<string>

    Property Value

    • A list of the names of the video's script writers.

    Remarks

    This property is read-only, similar to the Directors property.

  • Year
    Year
    Year
    Year

    Gets or sets the year that the video was shot or released.

    public uint Year { get; set; }public uint Year { get; set; }Public ReadWrite Property Year As uint

    Property Value

    • uint
      uint
      uint
      uint

      The video's release year.

Methods

  • RetrievePropertiesAsync(Windows.Foundation.Collections.IIterable{System.String})
    RetrievePropertiesAsync(Windows.Foundation.Collections.IIterable{System.String})
    RetrievePropertiesAsync(Windows.Foundation.Collections.IIterable{System.String})
    RetrievePropertiesAsync(Windows.Foundation.Collections.IIterable{System.String})

    Retrieves the specified properties associated with the item.

    public IAsyncOperation<IMap<string, object>> RetrievePropertiesAsync(Windows.Foundation.Collections.IIterable{System.String})public IAsyncOperation<IMap<string, object>> RetrievePropertiesAsync(Windows.Foundation.Collections.IIterable{System.String})Public Function RetrievePropertiesAsync(Windows.Foundation.Collections.IIterable{System.String}) As IAsyncOperation( Of IMapstring, object )

    Parameters

    • propertiesToRetrieve

      A collection that contains the names of the properties to retrieve.

    Returns

    • When this method completes successfully, it returns a collection (type IMap<K, V> ) that contains the specified properties and values as key-value pairs.

    Remarks

    In JavaScript, use then or done to specify handler functions that will capture and process the collection when it is returned.

  • SavePropertiesAsync()
    SavePropertiesAsync()
    SavePropertiesAsync()
    SavePropertiesAsync()

    Saves all properties associated with the item.

    public IAsyncAction SavePropertiesAsync()public IAsyncAction SavePropertiesAsync()Public Function SavePropertiesAsync() As IAsyncAction

    Returns

    Remarks

    If any one of the property values is invalid, none of the values will be saved.

  • SavePropertiesAsync(Windows.Foundation.Collections.IIterable{Windows.Foundation.Collections.IKeyValuePair{System.String, System.Object}})
    SavePropertiesAsync(Windows.Foundation.Collections.IIterable{Windows.Foundation.Collections.IKeyValuePair{System.String, System.Object}})
    SavePropertiesAsync(Windows.Foundation.Collections.IIterable{Windows.Foundation.Collections.IKeyValuePair{System.String, System.Object}})
    SavePropertiesAsync(Windows.Foundation.Collections.IIterable{Windows.Foundation.Collections.IKeyValuePair{System.String, System.Object}})

    Saves the specified properties and values associated with the item.

    public IAsyncAction SavePropertiesAsync(Windows.Foundation.Collections.IIterable{Windows.Foundation.Collections.IKeyValuePair{System.String, System.Object}})public IAsyncAction SavePropertiesAsync(Windows.Foundation.Collections.IIterable{Windows.Foundation.Collections.IKeyValuePair{System.String, System.Object}})Public Function SavePropertiesAsync(Windows.Foundation.Collections.IIterable{Windows.Foundation.Collections.IKeyValuePair{System.String, System.Object}}) As IAsyncAction

    Parameters

    • propertiesToSave

      A collection that contains the names and values of the properties to save as key-value pairs (type IKeyValuePair<K, V> ).

    Returns

Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.UniversalApiContract (introduced v1)

Attributes

Windows.Foundation.Metadata.ContractVersionAttribute

Details

Assembly

Windows.Storage.FileProperties.dll