public Artist(string uniqueId, string name, string pictureUrl, IMediaProvider mediaProvider) { UniqueId = uniqueId; Name = name; PictureUrl = pictureUrl; MediaProvider = mediaProvider; }
public MainViewModelTests() { _predictor = Substitute.For <IPredictor>(); _predictor .PredictAsync(Arg.Any <Stream>()) .Returns(new PredictionResult { Success = true, Answer = "Test result", PredictionTime = new DateTime(2000, 1, 1) }); _displayAlertProvider = Substitute.For <IDisplayAlertProvider>(); _mediaFile = new MediaFile( "/files/testfile", () => new MemoryStream(), () => new MemoryStream()); _media = Substitute.For <IMedia>(); _media.Initialize().Returns(Task.FromResult(true)); _media.IsPickPhotoSupported.Returns(true); _media.IsTakePhotoSupported.Returns(true); _media.IsCameraAvailable.Returns(true); _media.PickPhotoAsync(Arg.Any <PickMediaOptions>()).Returns(Task.FromResult(_mediaFile)); _media.TakePhotoAsync(Arg.Any <StoreCameraMediaOptions>()).Returns(Task.FromResult(_mediaFile)); _mediaProvider = Substitute.For <IMediaProvider>(); _mediaProvider.Media.Returns(_media); }
/// <summary> /// 이미지 주소를 통해 어떤 서비스의 이미지인지 찾아냄 /// </summary> private static IMediaProvider GetMediaProvider(Uri uri) { IMediaProvider mediaProvider = null; if (uri.ToString().Contains("twitter.com")) { mediaProvider = new TwitterMp4(); } else if (uri.ToString().Contains("twitpic.com")) { mediaProvider = new TwitPic(); } else if (uri.ToString().Contains("yfrog.com")) { mediaProvider = new Yfrog(); } else if (uri.ToString().Contains("tistory.com/image")) { mediaProvider = new Tistory(); } else if (uri.ToString().Contains("tistory.com/original")) { mediaProvider = new Tistory(); } else if (uri.ToString().Contains("p.twipple.jp")) { mediaProvider = new Twipple(); } else if (uri.ToString().Contains("vine.co")) { mediaProvider = new Vine(); } return(mediaProvider); }
public MediaServer(IMediaProvider mediaProvider) { if (mediaProvider == null) { throw new ArgumentNullException(nameof(mediaProvider)); } _mediaProvider = mediaProvider; if (_mediaProvider.MediaObjectCollection.Any()) { CurrentMedia = _mediaProvider.MediaObjectCollection.FirstOrDefault(); CurrentMediaUpdated?.Invoke(this, new EventArgs()); } _mediaProvider.MediaCollectionPopulated += (s, o) => { CurrentMedia = _mediaProvider.MediaObjectCollection.FirstOrDefault(); CurrentMediaUpdated?.Invoke(this, new EventArgs()); }; _mediaProvider.MediaCollectionChanged += (s, o) => { if (!_mediaProvider.MediaObjectCollection.Contains(CurrentMedia)) { CurrentMedia = _mediaProvider.MediaObjectCollection.FirstOrDefault(); CurrentMediaUpdated?.Invoke(this, new EventArgs()); } }; }
public MediaService(ILoggerFactory loggerFactory, IMediaProvider mediaProvider, IMediaStorageProvider mediaStorageProvider, IMemoryCache cache) { _log = loggerFactory.CreateLogger <MediaService>(); _mediaProvider = mediaProvider; _mediaStorageProvider = mediaStorageProvider; _cache = cache; }
public Track(string id, string title, string coverUrl, TimeSpan duration, IMediaProvider provider) { Id = id; Provider = provider; Title = title; Duration = duration; CoverUrl = coverUrl; }
public Album(string name, string uniqueId, string coverUrl, IMediaProvider mediaProvider) { Name = name; UniqueId = uniqueId; CoverUrl = coverUrl; MediaProvider = mediaProvider; Tracks = new List <Track> (); }
public void MediaProvider_TwippleTest() { Uri uri = new Uri("http://p.twipple.jp/2d1sn"); PrivateType pt = new PrivateType(typeof(TweetHelper)); IMediaProvider mediaProvider = (IMediaProvider)pt.InvokeStatic("GetMediaProvider", new object[] { uri }); Assert.AreEqual(typeof(Twipple), mediaProvider.GetType()); }
public void MediaProvider_VineTest() { Uri uri = new Uri("https://mtc.cdn.vine.co/r/videos_h264high/28D3E01F201216824363924803584_SW_WEBM_1433087743394462be3b271.mp4"); PrivateType pt = new PrivateType(typeof(TweetHelper)); IMediaProvider mediaProvider = (IMediaProvider)pt.InvokeStatic("GetMediaProvider", new object[] { uri }); Assert.AreEqual(typeof(Vine), mediaProvider.GetType()); }
public OpenGraphService( IDocumentTypeAliasProvider documentTypeAliasProvider, IActivitiesServiceFactory activitiesServiceFactory, INodeModelService nodeModelService, IMediaProvider mediaProvider) { _documentTypeAliasProvider = documentTypeAliasProvider; _activitiesServiceFactory = activitiesServiceFactory; _nodeModelService = nodeModelService; _mediaProvider = mediaProvider; }
public static MediaFile Create(string filePath, IMediaProvider provider) { string extension = provider.GetExtension(filePath); if (pictureExtensions.Contains(extension.ToLower())) { return new Picture(filePath, provider); } else { return new OtherMediaFile(filePath, provider); } }
private void OnMediaChanged(object sender, MediaChangedEventArgs e) { IMediaProvider mediaProvider = e.NewMedia.GetMediaProvider(); MediaThumbnail.Source = new BitmapImage(new Uri(e.NewMedia.ThumbnailUrl)); MediaTitle.Text = e.NewMedia.Title; MediaAuthor.Text = e.NewMedia.Author; MediaProvider.Text = mediaProvider.Name; MediaProvider.Foreground = new SolidColorBrush((Color)(ColorConverter.ConvertFromString(mediaProvider.NameColorEx) ?? Colors.Gray)); PlaybackPosition.Minimum = 0; PlaybackPosition.Maximum = e.NewMedia.Duration.TotalSeconds; PlaybackRemaining.Text = e.NewMedia.Duration.ToString(); PlaybackVolume.Value = NebulaClient.MediaPlayer.Volume; PlaybackPlay.Icon = new SymbolIcon(Symbol.Pause); PlaybackPlay.Label = NebulaClient.GetLocString("Pause"); UpdateMediaInfoWidth(); }
public async Task GetMediaAsync() { IMediaProvider mediaFactory = ClientCore.Factory.MediaFactory.Singleton.CreateMediaProvider(); Media Media = (Media)await mediaFactory.GetMediaAsync(); AudioMediaDevicesCapturersList = await Media.GetMediaDevicesAsync(MediaKind.AudioInputDevice); AudioMediaDevicesRendersList = await Media.GetMediaDevicesAsync(MediaKind.AudioOutputDevice); VideoMediaDevicesList = await Media.GetMediaDevicesAsync(MediaKind.VideoDevice); AudioCodecsList = await Media.GetCodecsAsync(MediaKind.AudioCodec); VideoCodecsList = await Media.GetCodecsAsync(MediaKind.VideoCodec); }
/// <summary> /// 해당 트윗에 포함된 모든 이미지 / 동영상을 찾아냄 /// </summary> public static void GetMediaUris(CoreTweet.Status twt, ref List <DownloadItem> downloadItems) { // Twitter Video if (twt.ExtendedEntities != null) { foreach (var eachMedia in twt.ExtendedEntities.Media) { if (eachMedia.VideoInfo != null) { foreach (var eachVideoVariant in eachMedia.VideoInfo.Variants) { Uri uri = new Uri(eachVideoVariant.Url); downloadItems.Add(new DownloadItem(twt.Id, twt.User.ScreenName, uri, uri.Segments.Last())); } } } } else if (twt.Entities.Media != null) { foreach (var url in twt.Entities.Media) { Uri uri = new Uri(url.MediaUrl); IMediaProvider mediaProvider = null; if (IsImageFile(uri.ToString())) { Uri newUri = new Uri(ModifyImageUri(uri.ToString())); downloadItems.Add(new DownloadItem(twt.Id, twt.User.ScreenName, newUri, uri.Segments.Last())); } else { mediaProvider = GetMediaProvider(uri); if (mediaProvider != null) { try { List <Uri> mediaUris = mediaProvider.GetUri(uri); foreach (var eachUri in mediaUris) { string filename = eachUri.Segments.Last(); downloadItems.Add(new DownloadItem(twt.Id, twt.User.ScreenName, eachUri, filename)); } } catch { throw; } } } } } if (twt.Entities.Urls != null) { foreach (var url in twt.Entities.Urls) { Uri uri = new Uri(url.ExpandedUrl); IMediaProvider mediaProvider = null; if (IsImageFile(uri.ToString())) { downloadItems.Add(new DownloadItem(twt.Id, twt.User.ScreenName, uri, uri.Segments.Last())); } else { mediaProvider = GetMediaProvider(uri); if (mediaProvider != null) { try { List <Uri> mediaUris = mediaProvider.GetUri(uri); foreach (var eachUri in mediaUris) { string filename = eachUri.Segments.Last(); downloadItems.Add(new DownloadItem(twt.Id, twt.User.ScreenName, eachUri, filename)); } } catch { throw; } } } } } if (twt.ExtendedEntities != null && twt.ExtendedEntities.Media != null) { foreach (var media in twt.ExtendedEntities.Media) { Uri uri = new Uri(media.MediaUrl); if (!IsImageFile(uri.ToString())) { continue; } Uri newUri = new Uri(ModifyImageUri(uri.ToString())); downloadItems.Add(new DownloadItem(twt.Id, twt.User.ScreenName, newUri, uri.Segments.Last())); } } }
public MediaTypeHandler(IMediaProvider mediaProvider, ILoggerFactory loggerFactory) { _mediaProvider = mediaProvider; _log = loggerFactory.CreateLogger <MediaTypeHandler>(); }
public MainWindowViewModel(ISettingsProvider settingsProvider, IServeMedia mediaServer, IMediaProvider mediaProvider, ISaveSettings settingsSaver, IIntervalTimer mediaTimer, IIntervalTimer previewTimer, IGetViewPreview viewPreviewProvider) { if (settingsProvider == null) { throw new ArgumentNullException(nameof(settingsProvider)); } if (mediaServer == null) { throw new ArgumentNullException(nameof(mediaServer)); } if (mediaProvider == null) { throw new ArgumentNullException(nameof(mediaProvider)); } if (settingsSaver == null) { throw new ArgumentNullException(nameof(settingsSaver)); } if (mediaTimer == null) { throw new ArgumentNullException(nameof(mediaTimer)); } if (previewTimer == null) { throw new ArgumentNullException(nameof(previewTimer)); } if (viewPreviewProvider == null) { throw new ArgumentNullException(nameof(viewPreviewProvider)); } _settingsProvider = settingsProvider; _mediaServer = mediaServer; _mediaProvider = mediaProvider; _settingsSaver = settingsSaver; _mediaTimer = mediaTimer; _previewTimer = previewTimer; _viewPreviewProvider = viewPreviewProvider; _settingsProvider.SettingsChanged += (s, o) => { var settingName = (o as System.Configuration.SettingChangingEventArgs).SettingName; switch (settingName) { case nameof(_settingsProvider.UseFade): App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(UseFade)))); break; } }; _mediaProvider.MediaCollectionPopulated += (s, o) => App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(CurrentMedia)))); _mediaProvider.MediaCollectionChanged += (s, o) => App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(MediaCollection)))); _mediaServer.CurrentMediaUpdated += (s, o) => App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(CurrentMedia)))); _mediaProvider.ForceUpdate(); SendPropertyChanged(nameof(_settingsProvider.ShowPreview)); _previewTimer.Initialize(TimeSpan.FromSeconds(1), () => UpdatePreview()); _previewTimer.Start(); }
public OtherMediaFile(string filePath, IMediaProvider provider) { Initialize(filePath, provider); }
public MediaFiles(List<string> mediaFolders, IMediaProvider provider) { this.provider = provider; mediaFiles = provider.GetFiles(mediaFolders); }
protected void Initialize(string filePath, IMediaProvider provider) { this.provider = provider; this.filePath = filePath; this.attributes = provider.NormalizeAttributes(filePath); }
public Picture(string filePath, IMediaProvider provider) { Initialize(filePath, provider); }
public StoriesViewModel(IMediaProvider mediaProvider, IAudioManager audioManager) { _mediaProvider = mediaProvider; _audioManager = audioManager; PlaySongCommand = new MvxCommand <StorySong>(PlaySoundExecute); }