internal MPNowPlayingInfo(NSDictionary source)
        {
            if (source == null)
            {
                return;
            }

            NSObject result;

            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyElapsedPlaybackTime, out result))
            {
                ElapsedPlaybackTime = (result as NSNumber).DoubleValue;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyPlaybackRate, out result))
            {
                PlaybackRate = (result as NSNumber).DoubleValue;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyPlaybackQueueIndex, out result))
            {
                PlaybackQueueIndex = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyPlaybackQueueCount, out result))
            {
                PlaybackQueueCount = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyChapterNumber, out result))
            {
                ChapterNumber = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyChapterCount, out result))
            {
                ChapterCount = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyDefaultPlaybackRate, out result))
            {
                DefaultPlaybackRate = (double)(result as NSNumber).DoubleValue;
            }
            if (source.TryGetValue(MPMediaItem.AlbumTrackCountProperty, out result))
            {
                AlbumTrackCount = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.AlbumTrackNumberProperty, out result))
            {
                AlbumTrackNumber = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.DiscCountProperty, out result))
            {
                DiscCount = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.DiscNumberProperty, out result))
            {
                DiscNumber = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.PersistentIDProperty, out result))
            {
                PersistentID = (result as NSNumber).UInt64Value;
            }
            if (source.TryGetValue(MPMediaItem.PlaybackDurationProperty, out result))
            {
                PlaybackDuration = (result as NSNumber).DoubleValue;
            }

            if (source.TryGetValue(MPMediaItem.AlbumTitleProperty, out result))
            {
                AlbumTitle = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.ArtistProperty, out result))
            {
                Artist = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.ArtworkProperty, out result))
            {
                Artwork = result as MPMediaItemArtwork;
            }
            if (source.TryGetValue(MPMediaItem.ComposerProperty, out result))
            {
                Composer = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.GenreProperty, out result))
            {
                Genre = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.TitleProperty, out result))
            {
                Title = (string)(result as NSString);
            }
        }
Пример #2
0
        internal MPNowPlayingInfo(NSDictionary source)
        {
            if (source == null)
            {
                return;
            }

            NSObject result;

            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyElapsedPlaybackTime, out result))
            {
                ElapsedPlaybackTime = (result as NSNumber).DoubleValue;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyPlaybackRate, out result))
            {
                PlaybackRate = (result as NSNumber).DoubleValue;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyPlaybackQueueIndex, out result))
            {
                PlaybackQueueIndex = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyPlaybackQueueCount, out result))
            {
                PlaybackQueueCount = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyChapterNumber, out result))
            {
                ChapterNumber = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPNowPlayingInfoCenter.PropertyChapterCount, out result))
            {
                ChapterCount = (int)(result as NSNumber).UInt32Value;
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyDefaultPlaybackRate, out result))
            {
                DefaultPlaybackRate = (double)(result as NSNumber).DoubleValue;
            }

            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyAvailableLanguageOptions, out result))
            {
                AvailableLanguageOptions = NSArray.ArrayFromHandle <MPNowPlayingInfoLanguageOptionGroup> (result.Handle);
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyCurrentLanguageOptions, out result))
            {
                CurrentLanguageOptions = NSArray.ArrayFromHandle <MPNowPlayingInfoLanguageOption> (result.Handle);
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyCollectionIdentifier, out result))
            {
                CollectionIdentifier = (string)(result as NSString);
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyExternalContentIdentifier, out result))
            {
                ExternalContentIdentifier = (string)(result as NSString);
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyExternalUserProfileIdentifier, out result))
            {
                ExternalUserProfileIdentifier = (string)(result as NSString);
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyPlaybackProgress, out result))
            {
                PlaybackProgress = (float)(result as NSNumber).FloatValue;
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyMediaType, out result))
            {
                MediaType = (MPNowPlayingInfoMediaType)(result as NSNumber).UInt32Value;
            }
            if (TryGetValue(source, MPNowPlayingInfoCenter.PropertyIsLiveStream, out result))
            {
                IsLiveStream = (bool)(result as NSNumber).BoolValue;
            }

            if (source.TryGetValue(MPMediaItem.AlbumTrackCountProperty, out result))
            {
                AlbumTrackCount = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.AlbumTrackNumberProperty, out result))
            {
                AlbumTrackNumber = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.DiscCountProperty, out result))
            {
                DiscCount = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.DiscNumberProperty, out result))
            {
                DiscNumber = (int)(result as NSNumber).UInt32Value;
            }
            if (source.TryGetValue(MPMediaItem.PersistentIDProperty, out result))
            {
                PersistentID = (result as NSNumber).UInt64Value;
            }
            if (source.TryGetValue(MPMediaItem.PlaybackDurationProperty, out result))
            {
                PlaybackDuration = (result as NSNumber).DoubleValue;
            }

            if (source.TryGetValue(MPMediaItem.AlbumTitleProperty, out result))
            {
                AlbumTitle = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.ArtistProperty, out result))
            {
                Artist = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.ArtworkProperty, out result))
            {
                Artwork = result as MPMediaItemArtwork;
            }
            if (source.TryGetValue(MPMediaItem.ComposerProperty, out result))
            {
                Composer = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.GenreProperty, out result))
            {
                Genre = (string)(result as NSString);
            }
            if (source.TryGetValue(MPMediaItem.TitleProperty, out result))
            {
                Title = (string)(result as NSString);
            }
        }
Пример #3
0
        internal MPNowPlayingInfo(NSDictionary source)
        {
            if (source == null)
                return;

            NSObject result;

            if (source.TryGetValue (MPNowPlayingInfoCenter.PropertyElapsedPlaybackTime, out result))
                ElapsedPlaybackTime = (result as NSNumber).DoubleValue;
            if (source.TryGetValue (MPNowPlayingInfoCenter.PropertyPlaybackRate, out result))
                PlaybackRate = (result as NSNumber).DoubleValue;
            if (source.TryGetValue (MPNowPlayingInfoCenter.PropertyPlaybackQueueIndex, out result))
                PlaybackQueueIndex = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPNowPlayingInfoCenter.PropertyPlaybackQueueCount, out result))
                PlaybackQueueCount = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPNowPlayingInfoCenter.PropertyChapterNumber, out result))
                ChapterNumber = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPNowPlayingInfoCenter.PropertyChapterCount, out result))
                ChapterCount = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPNowPlayingInfoCenter.PropertyDefaultPlaybackRate, out result))
                DefaultPlaybackRate = (double) (result as NSNumber).DoubleValue;
            if (source.TryGetValue (MPMediaItem.AlbumTrackCountProperty, out result))
                AlbumTrackCount = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPMediaItem.AlbumTrackNumberProperty, out result))
                AlbumTrackNumber = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPMediaItem.DiscCountProperty, out result))
                DiscCount = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPMediaItem.DiscNumberProperty, out result))
                DiscNumber = (int) (result as NSNumber).UInt32Value;
            if (source.TryGetValue (MPMediaItem.PersistentIDProperty, out result))
                PersistentID = (result as NSNumber).UInt64Value;
            if (source.TryGetValue (MPMediaItem.PlaybackDurationProperty, out result))
                PlaybackDuration = (result as NSNumber).DoubleValue;

            if (source.TryGetValue (MPMediaItem.AlbumTitleProperty, out result))
                AlbumTitle = (string) (result as NSString);
            if (source.TryGetValue (MPMediaItem.ArtistProperty, out result))
                Artist = (string) (result as NSString);
            if (source.TryGetValue (MPMediaItem.ArtworkProperty, out result))
                Artwork = result as MPMediaItemArtwork;
            if (source.TryGetValue (MPMediaItem.ComposerProperty, out result))
                Composer = (string) (result as NSString);
            if (source.TryGetValue (MPMediaItem.GenreProperty, out result))
                Genre = (string) (result as NSString);
            if (source.TryGetValue (MPMediaItem.TitleProperty, out result))
                Title = (string) (result as NSString);
        }