WP: можно получить URI из Microsoft.Xna.Framework.Media.Song

У меня есть объект Song, возвращенный из MediaLibrary. Как мне получить его URI или абсолютный путь с именем файла? Какой-нибудь неопубликованный API? Конструктор имеет FromUri, который использовался для создания объекта Song. Интересно, есть ли способ получить его? Похоже, что GetPathFromToken из MediaLibraryExtensions. Но что за "жетон" мне нужен? Спасибо!

1 ответ

Решение

Чтобы ответить на вопрос: "Какой токен мне нужен?" часть вопроса:
Значение Token предоставляется приложению в строке запроса, когда это приложение регистрируется для расширения различных частей ОС Windows Phone, в том числе средства выбора общего доступа к фотографиям, средства редактирования фотографий и автоматического запуска из ассоциации файлов.

Во всех примерах используется GetPictureFromToken, но вы можете представить тот же сценарий с другими типами мультимедиа, которые "запускаются" через сопоставление файлов.

Вот пример того, как использовать токен с GetPicturesFromToken

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // Get a dictionary of query string keys and values.
    IDictionary<string, string> queryStrings = this.NavigationContext.QueryString;

    // Ensure that there is at least one key in the query string, and check whether the "token" key is present.
    if (queryStrings.ContainsKey("token"))
    {
        // Retrieve the photo from the media library using the token passed to the app.
        MediaLibrary library = new MediaLibrary();
        Picture photoFromLibrary = library.GetPictureFromToken(queryStrings["token"]);

        // Create a BitmapImage object and add set it as the image control source.
        BitmapImage bitmapFromPhoto = new BitmapImage();
        bitmapFromPhoto.SetSource(photoFromLibrary.GetImage());
        image1.Source = bitmapFromPhoto;
    }
}

GetPathFromToken должен вести себя так же.

Что касается других частей вопроса. Если вы используете объект песни, на который вы также получаете ссылку через MediaLibrary, нет никакого способа получить URI или путь к этому объекту через любые законные опубликованные API-интерфейсы.

Другие вопросы по тегам