public void AddBookToMovieWithNoBookShouldReturnNotFoundView() { Movie movie = TestUtil.generateMovie(); movie.Title = "Jurassic Park"; movie.OriginalTitle = "Jurassic Park"; AddMedia(movie); Book book = TestUtil.generateBook(); book.Title = "Jurassic Park"; book.OriginalTitle = "Jurassic Park"; AddMedia(book); MediaController mediaController = new MediaController(); FormCollection collection = new FormCollection(); collection["BooksForMovie"] = "-1"; ViewResult result = mediaController.AddBookToMovie(collection, movie.Id) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("NotFound", result.ViewName); }
public MediaServerViewModel(MediaConfig mediaConfig, AudioFormat audioFormat, MediaStatistics mediaStatistics, MediaEnvironment mediaEnvironment, IMediaConnection mediaConnection, IVideoQualityController videoQualityController, string roomId) { MediaController = new MediaController(mediaConfig, audioFormat, mediaStatistics, mediaEnvironment, mediaConnection, videoQualityController); RoomId = roomId; MediaServerKpis = new ObservableCollection <MediaServerKpi>(); MediaController.MediaStats.Counters.CollectionChanged += Counters_CollectionChanged; }
public void SetContent(string url) { // https://stackoverflow.com/questions/47353986/xamarin-forms-forms-context-is-obsolete //SOLVED BY REFERENCING LOCAL ANDROID CONTEXT IN MAIN APPLICATION //REPLACED FORMS.CONTEXT videoView = new VideoView(MainApplication.ActivityContext); mediaController = new MediaController(MainApplication.ActivityContext, false); uriHd = Android.Net.Uri.Parse(url); mediaController.SetMediaPlayer(videoView); mediaController.SetAnchorView(videoView); videoView.SetMediaController(mediaController); videoView.SetFitsSystemWindows(true); videoView.SetVideoURI(uriHd); contentView = new ContentView(); //contentView.BackgroundColor = Color.Black; contentView.Content = videoView.ToView(); contentView.HorizontalOptions = LayoutOptions.FillAndExpand; contentView.VerticalOptions = LayoutOptions.CenterAndExpand; Content = contentView; videoView.Start(); }
protected override void OnElementChanged(ElementChangedEventArgs <MediaElement> e) { base.OnElementChanged(e); if (e.OldElement != null) { e.OldElement.SetRenderer(null); if (_view != null) { _view.SetOnPreparedListener(null); _view.SetOnCompletionListener(null); _view.Dispose(); _view = null; } if (_controller != null) { _controller.Dispose(); _controller = null; } if (_mediaPlayer != null) { _mediaPlayer.Dispose(); _mediaPlayer = null; } } if (e.NewElement != null) { if (!DesignMode.DesignModeEnabled) { try { e.NewElement.SetRenderer(this); _view = new VideoViewEx(Context); SetNativeControl(new FrameLayout(Context));// new VideoViewEx(Context)); //Control.LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent); _view.SetZOrderMediaOverlay(true); _view.SetOnCompletionListener(this); _view.SetOnPreparedListener(this); _view.KeepScreenOn = Element.KeepScreenOn; Control.AddView(_view); _controller = new MediaController(Context); _controller.SetAnchorView(this); _controller.Visibility = Element.AreTransportControlsEnabled ? ViewStates.Visible : ViewStates.Gone; _view.SetMediaController(_controller); UpdateSource(); } catch { } } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Remove Title this.RequestWindowFeature(WindowFeatures.NoTitle); SetContentView(Resource.Layout.Player); // Button close Button buttonClose = FindViewById <Button>(Resource.Id.buttonClose); // Prevent sleeping this.Window.SetFlags(WindowManagerFlags.KeepScreenOn, WindowManagerFlags.KeepScreenOn); buttonClose.Click += delegate { Finish(); }; videoPlayer = FindViewById <VideoView>(Resource.Id.PlayerVideoView); var url = Intent.GetStringExtra("url") ?? "Not available"; var title = Intent.GetStringExtra("title") ?? "Not available"; Log.println("Video player: " + url); Log.println("Video player: " + title); videoPlayer.SetVideoURI(Android.Net.Uri.Parse(url)); mediaController = new MediaController(this, true); videoPlayer.SetMediaController(mediaController); videoPlayer.Start(); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var jsonString = this.Arguments.GetString(VoteVidoeTypeFragment_KEY); var vote = Newtonsoft.Json.JsonConvert.DeserializeObject <Vote> (jsonString); View rootView = inflater.Inflate(Resource.Layout.votedescview_type02, container, false); MediaController mc = new MediaController(Activity); _videoView = rootView.FindViewById <VideoView> (Resource.Id.votedescview_type02_player); _videoView.Prepared += (sender, e) => { _videoView.Start(); }; var uri = Android.Net.Uri.Parse(vote.VideoUrl); _videoView.SetVideoURI(uri); _videoView.SetMediaController(mc); var textView = rootView.FindViewById <TextView> (Resource.Id.votedescview_type02_lbDesc); textView.Text = vote.Description; return(rootView); }
protected override void OnElementChanged(ElementChangedEventArgs <XamarinFormsSamples.Video.VideoView> e) { base.OnElementChanged(e); e.NewElement.StopAction = () => { this._videoview.StopPlayback(); }; e.NewElement.PlayPauseAction = () => { if (this._videoview.IsPlaying) { this._videoview.Pause(); } else { this._videoview.Start(); } }; _videoview = new VideoView(Context); _videoview.Prepared += (sender, args) => { e.NewElement.OnVideoPrepared(); }; Android.Net.Uri uri = Android.Net.Uri.Parse(e.NewElement.UriSource.Replace("https", "http")); _videoview.SetVideoURI(uri); base.SetNativeControl(_videoview); Control.Layout(0, 0, 200, 200); MediaController vidControl = new MediaController(Context); vidControl.SetAnchorView(_videoview); _videoview.SetMediaController(vidControl); }
protected override void OnElementChanged (ElementChangedEventArgs<MyVideoPlayer> e) { base.OnElementChanged (e); if (this.Control == null) { var layoutInflater = (LayoutInflater)Context.GetSystemService(global::Android.Content.Context.LayoutInflaterService); this._MainLayout = (Android.Widget.RelativeLayout)layoutInflater.Inflate (VideoSamples.Droid.Resource.Layout.VideoLayout, null); SetNativeControl (this._MainLayout); } this._MyVideoView = this.Control.FindViewById<MyVideoView>(VideoSamples.Droid.Resource.Id.videoView1); // full screen hack? ResizeScreen (true); //this.Element.FullScreen); // must set reference to root element this._MyVideoView.ParentElement = this.Element; // pick controller this._MCController = new MediaController (this.Context); this._MCController.SetMediaPlayer (this._MyVideoView); if (this.Element.AddVideoController) { this._AttachedController = true; this._MyVideoView.SetMediaController (this._MCController); } else { this._AttachedController = false; } // load file this._MyVideoView.LoadFile (this.Element.FileSource); if (this.Element.AutoPlay) { // play if set to autoplay on load this._MyVideoView.Play(); } }
private void titleSearchButton_Click(object sender, EventArgs e) { bool found = false; if (titleTextBox.Text != "") { string title = titleTextBox.Text; foreach (Media c in mediaItems) { if (c is Cd) { Cd itemAsCd = (Cd)c; if (itemAsCd.Title.Equals(title, StringComparison.OrdinalIgnoreCase)) { found = true; MessageBox.Show("Found It!"); mediaListView.Clear(); populateListView(); MediaController.PopulateCdSearchViewList(mediaListView, c); break; } } } } if (!found) { MessageBox.Show(noSuccessString); } }
private void InitMediaController() { MediaController mediacontroller = new MediaController(Context, false); mediacontroller.SetAnchorView(_videoView); _videoView.SetMediaController(mediacontroller); }
private static void Current_TrackChanged(MediaController sender, TrackChangedEventArgs args) { if (UDPServer.Current.ClientList?.Count > 0) { SendTrackChanged(args.NewTrack); } }
private static void Current_PlaylistChanged(MediaController sender, PlaylistChangedEventArgs args) { if (UDPServer.Current.ClientList?.Count > 0) { SendUpdateList(args.NewList); } }
protected override void OnElementChanged(ElementChangedEventArgs <PlayerView> e) { base.OnElementChanged(e); if (e.OldElement != null) { // TODO: cleanup } if (e.NewElement != null) { _videoView = new VideoView(Context); var relativeLayout = new ARelativeLayout(Context); relativeLayout.AddView(_videoView); var layoutParams = new ARelativeLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent); layoutParams.AddRule(LayoutRules.CenterInParent); _videoView.LayoutParameters = layoutParams; _mediaController = new MediaController(Context); _mediaController.SetMediaPlayer(_videoView); _videoView.SetMediaController(_mediaController); SetSource(); this.SetNativeControl(relativeLayout); } }
public MainController(MainWindow window) { this.AllowedStyles = PlayerStyle.MediaPlayer; window.ViewerBottom.Visibility = Visibility.Hidden; ToolTipService.ShowDurationProperty.OverrideMetadata( typeof(DependencyObject), new FrameworkPropertyMetadata(Int32.MaxValue)); this.EventC = new EventController(window.Dispatcher, window.LabelPopup, window.LabelEvent, window.LabelTopic); this.PanelC = new PanelController(window); var mediaController = new MediaController( window.UriPlayer, window.PlayerBottom.ButtonPlay, window.PlayerBottom.ButtonMute, window.PlayerBottom.ButtonLoop, this.EventC); //window.UriPlayer.SubtitleElement = window.Subtitles; //subtitleController = new SubtitleController(window); Initialize(this.EventC, this.PanelC, mediaController, new ImageManipulator(window.ImageViewer)); this.window = window; this.imageLoader = new ImageLoader(window.Dispatcher); this.imageLoader.Loaded += ImageLoaded; this.imageLoader.LoadFailed += LoadFailed; this.mediaLoader = new MpvLoader(window.Dispatcher, this.window.UriPlayer); this.mediaLoader.Loaded += MediaLoaded; this.mediaLoader.LoadFailed += LoadFailed; this.ContentMenu = window.ContentMenu; ApplySettings(); }
//Al parecer hay varios controladores de Multimedia y toca recuperarlos. public void OnActiveSessionsChanged(IList <MediaController> controllers) { if (controllers.Count > 0) { musicController = MusicController.GetInstance(); mediaController = controllers[0]; try { mediaController.RegisterCallback(musicController); //Retrieve the controls to control the media, duh. musicController.TransportControls = mediaController.GetTransportControls(); musicController.MediaMetadata = mediaController.Metadata; musicController.PlaybackState = mediaController.PlaybackState; } catch { musicController.Dispose(); Log.Info("LiveDisplay", "Couldn't register a mediacallback"); } } else if (mediaController != null && controllers.Count == 0) { Log.Info("LiveDisplay", "mediacontroller null or no controllers."); try { mediaController.UnregisterCallback(musicController); musicController.Dispose(); } catch (Exception e) { Log.Info("LiveDisplay", "Unregistering MediaController callback failed" + e.Message); } } }
public CheckoutBookView(List <Media> m) { InitializeComponent(); mediaItems = m; // Populate the list view columns populateListView(); //Populate the list with the data if (File.Exists("media.txt")) { MediaController.PopulateMainBooksViewList(booksListView, mediaItems); } else { return; } if (File.Exists("customers.txt")) { CustomersController.PopulateCustomersComboBox(customerComboBox); } else { return; } }
public AudioControllerEntry(MediaController mediaController) { SampleBuffer = new short[bufferLength]; MediaController = mediaController; FrequencyMismatchCounter = MediaController.MediaStats.RegisterCounter("Audio:FrequencyMismatch"); ResetEvent = new AutoResetEvent(false); }
public void AddBookToMovieShouldConnectAndReturnMovieView() { Movie movie = TestUtil.generateMovie(); movie.Title = "Jurassic Park"; movie.OriginalTitle = "Jurassic Park"; AddMedia(movie); Book book = TestUtil.generateBook(); book.Title = "Jurassic Park"; book.OriginalTitle = "Jurassic Park"; AddMedia(book); MediaController mediaController = new MediaController(); FormCollection collection = new FormCollection(); collection["BooksForMovie"] = book.Id.ToString(); RedirectToRouteResult result = mediaController.AddBookToMovie(collection, movie.Id) as RedirectToRouteResult; Assert.AreEqual(book.Id, movie.Book.Id); Assert.AreEqual(movie.Id, book.Movie.Id); Assert.IsNotNull(result); object movieId; Assert.IsTrue(result.RouteValues.TryGetValue("id", out movieId)); Assert.AreEqual(movie.Id, (int)movieId); }
public CheckOutDvdView(List <Media> m) { InitializeComponent(); mediaItems = m; populateListView(); //Populate the list with the data if (File.Exists("media.txt")) { MediaController.PopulateMainDvdsViewList(mediaListView, mediaItems); } else { return; } if (File.Exists("customers.txt")) { CustomersController.PopulateCustomersComboBox(customerComboBox); } else { return; } }
protected override void Dispose(bool disposing) { if (Control != null) { Control.RemoveAllViews(); } if (_view != null) { _view.SetOnPreparedListener(null); _view.SetOnCompletionListener(null); _view.Dispose(); _view = null; } if (_controller != null) { _controller.Dispose(); _controller = null; } if (_mediaPlayer != null) { _mediaPlayer.Dispose(); _mediaPlayer = null; } base.Dispose(disposing); }
/** * \brief destroy the media player and the media controller */ private void destroyMediaPlayer() { mMediaControllerLock.Lock(); if (mMediaController != null) { mMediaController.RemoveAllViews(); mMediaController = null; } mMediaControllerLock.Unlock(); mMediaPlayerLock.Lock(); if (mMediaPlayer != null) { try { mMediaPlayer.Stop(); } catch (Exception e) { mMediaPlayerLock.Unlock(); Log.Error("PikkartFullscreenVideo", "could not stop playback"); } mMediaPlayer.Release(); mMediaPlayer = null; } mMediaPlayerLock.Unlock(); }
public void DeleteBookFromMovieConnShouldDeleteConnAndReturnMovieView() { Movie movie = TestUtil.generateMovie(); movie.Title = "Jurassic Park"; movie.OriginalTitle = "Jurassic Park"; AddMedia(movie); Book book = TestUtil.generateBook(); book.Title = "Jurassic Park"; book.OriginalTitle = "Jurassic Park"; book.Movie = movie; AddMedia(book); MediaController mediaController = new MediaController(); RedirectToRouteResult result = mediaController.DeleteBookFromMovieConn(movie.Id) as RedirectToRouteResult; Assert.IsNull(movie.Book); Assert.IsNull(book.Movie); Assert.IsNotNull(result); object movieId; Assert.IsTrue(result.RouteValues.TryGetValue("id", out movieId)); Assert.AreEqual(movie.Id, (int)movieId); }
private void searchButton_Click(object sender, EventArgs e) { bool found = false; if (titleTextBox.Text != "") { string title = titleTextBox.Text; foreach (Media b in mediaItems) { // Comparing strings not numbers Duke!s if (b.Title.Equals(title, StringComparison.OrdinalIgnoreCase)) { found = true; MessageBox.Show("Found It!"); booksListView.Clear(); populateListView(); MediaController.PopulateSearchViewList(booksListView, b); } } } if (!found) { MessageBox.Show(noSuccessString); } }
private void isbnSearchButton_Click(object sender, EventArgs e) { bool found = false; if (isbnTextBox.Text != "") { string isbn = isbnTextBox.Text; foreach (Media b in mediaItems) { if (b is Book) { Book itemAsBook = (Book)b; if (itemAsBook.ISBN.Equals(isbn, StringComparison.OrdinalIgnoreCase)) { found = true; MessageBox.Show("Found It!"); booksListView.Clear(); populateListView(); MediaController.PopulateSearchViewList(booksListView, b); break; } } } } if (!found) { MessageBox.Show(noSuccessString); } }
// A test to see if the right Exeptions are thrown // in the Index method of the MediaController. public void TestReturnsCorrectMediaErrors() { // Arrange var mockUnitOfWork = new MockUnitOfWork(); // Act var controller = new MediaController(mockUnitOfWork); // Assert // the MissingParameterExeption is should be thrown // if the method takes null as a parameter. try { var result = controller.Index(null); } catch (Exception ex) { Assert.IsInstanceOfType(ex, typeof(MissingParameterException)); } // the DataNotFoundExeption should be thrown // if the parameter does not match any id in // in the database. try { var result = controller.Index(99); } catch (Exception ex) { Assert.IsInstanceOfType(ex, typeof(DataNotFoundException)); } }
private void InitComponent() { try { var media = new MediaController(this); media.Show(5000); ProgressBar = FindViewById <ProgressBar>(Resource.Id.progress_bar); ProgressBar.Visibility = ViewStates.Visible; PostVideoView = FindViewById <VideoView>(Resource.Id.videoView); PostVideoView.Completion += PostVideoViewOnCompletion; PostVideoView.SetMediaController(media); PostVideoView.Prepared += PostVideoViewOnPrepared; PostVideoView.CanSeekBackward(); PostVideoView.CanSeekForward(); PostVideoView.SetAudioAttributes(new AudioAttributes.Builder().SetUsage(AudioUsageKind.Media).SetContentType(AudioContentType.Movie).Build()); if (VideoUrl.Contains("http")) { PostVideoView.SetVideoURI(Uri.Parse(VideoUrl)); } else { var file = Uri.FromFile(new File(VideoUrl)); PostVideoView.SetVideoPath(file.Path); } TabbedMainActivity.GetInstance()?.SetOnWakeLock(); } catch (Exception e) { Console.WriteLine(e); } }
private void CreateMediaPlayer(string url) { if (_mp != null) { _mp.Release(); _mp = null; } // Create a new media player and set the listeners _mp = new MediaPlayer(); _mp.SetContext(this); _mp.SetOnErrorListener(this); _mp.SetOnPreparedListener(this); _mp.SetAudioStreamType((int)Android.Media.Stream.Music); _mp.SetOnVideoSizeChangedListener(this); _mc = new MediaController(this); _mc.SetAnchorView((View)_sv.Parent); _mp.SetDisplay(_sh); _mp.SetScreenOnWhilePlaying(true); try { _mp.SetDataSource(url); _mp.PrepareAsync(); } catch (IOException e) { e.PrintStackTrace(); } }
public CdsView(List <Media> mediaFromFile) { mediaItems = mediaFromFile; InitializeComponent(); mediaListView.View = View.Details; mediaListView.GridLines = false; mediaListView.FullRowSelect = true; //Add column header mediaListView.Columns.Add("Id", 50); mediaListView.Columns.Add("Title", 200); mediaListView.Columns.Add("Performer", 150); mediaListView.Columns.Add("Checked Out", 120); //Populate the list with the data if (File.Exists("media.txt")) { MediaController.PopulateMainCdsViewList(mediaListView, mediaItems); } else { return; } }
public void No_Access_By_Path() { //arrange var userMock = new Mock <IUser>(); userMock.Setup(u => u.Id).Returns(9); userMock.Setup(u => u.StartMediaIds).Returns(new[] { 9876 }); var user = userMock.Object; var mediaMock = new Mock <IMedia>(); mediaMock.Setup(m => m.Path).Returns("-1,1234,5678"); var media = mediaMock.Object; var mediaServiceMock = new Mock <IMediaService>(); mediaServiceMock.Setup(x => x.GetById(1234)).Returns(media); var mediaService = mediaServiceMock.Object; var entityServiceMock = new Mock <IEntityService>(); entityServiceMock.Setup(x => x.GetAllPaths(It.IsAny <UmbracoObjectTypes>(), It.IsAny <int[]>())) .Returns(new[] { Mock.Of <EntityPath>(entity => entity.Id == 9876 && entity.Path == "-1,9876") }); var entityService = entityServiceMock.Object; //act var result = MediaController.CheckPermissions(new Dictionary <string, object>(), user, mediaService, entityService, 1234); //assert Assert.IsFalse(result); }
public void Access_Allowed_By_Path() { //arrange var userMock = new Mock <IUser>(); userMock.Setup(u => u.Id).Returns(9); userMock.Setup(u => u.Groups).Returns(new[] { new ReadOnlyUserGroup(1, "admin", "", -1, -1, "admin", new string[0], new List <string>()) }); var user = userMock.Object; var mediaMock = new Mock <IMedia>(); mediaMock.Setup(m => m.Path).Returns("-1,1234,5678"); var media = mediaMock.Object; var mediaServiceMock = new Mock <IMediaService>(); mediaServiceMock.Setup(x => x.GetById(1234)).Returns(media); var mediaService = mediaServiceMock.Object; var entityServiceMock = new Mock <IEntityService>(); var entityService = entityServiceMock.Object; //act var result = MediaController.CheckPermissions(new Dictionary <string, object>(), user, mediaService, entityService, 1234); //assert Assert.IsTrue(result); }
public Response<Media> deleteMedia(string id) { IncomingWebRequestContext requestContext = WebOperationContext.Current.IncomingRequest; Dictionary<string, string> data = new Dictionary<string, string>(); string authString = requestContext.Headers[HttpRequestHeader.Authorization]; data.Add("id", id); Request request = makeRequest(requestContext, trimData(data), authString); MediaController controller = new MediaController(); return controller.Call(request); }
private void BindData() { MediaController ctlMedia = new MediaController(); List<string> lstMedia = ctlMedia.DisplayMedia(ModuleId, TabId, IsEditable, ModuleConfiguration, PortalSettings); if (string.IsNullOrEmpty(lstMedia[0])) { if (IsEditable) { // there is no media yet DNNSkins.Skin.AddModuleMessage(this, GetLocalizedString("NoMediaMessage.Text"), ModuleMessage.ModuleMessageType.BlueInfo); } else { // hide the module ContainerControl.Visible = false; } return; } if (!string.IsNullOrEmpty(lstMedia[2])) { // there's an error returned DNNSkins.Skin.AddModuleMessage(this, GetLocalizedString(lstMedia[1]), ModuleMessage.ModuleMessageType.YellowWarning); } else { // there's media to display MediaLiteral.Text = string.Format(MEDIA_WRAPPER_TAG, lstMedia[0]); if (!string.IsNullOrEmpty(lstMedia[1])) { MessageLiteral.Text = string.Format(MESSAGE_TAG, TabModuleId, HttpUtility.HtmlDecode(lstMedia[1])); } } }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { // Currently in a layout without a container, so no reason to create our view. return null; } RelativeLayout view = new RelativeLayout( Rock.Mobile.PlatformSpecific.Android.Core.Context ); view.LayoutParameters = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent ); view.SetBackgroundColor( Android.Graphics.Color.Black ); view.SetOnTouchListener( this ); ProgressBar = new ProgressBar( Rock.Mobile.PlatformSpecific.Android.Core.Context ); ProgressBar.Indeterminate = true; ProgressBar.SetBackgroundColor( Rock.Mobile.UI.Util.GetUIColor( 0 ) ); ProgressBar.LayoutParameters = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent ); ( (RelativeLayout.LayoutParams)ProgressBar.LayoutParameters ).AddRule( LayoutRules.CenterInParent ); view.AddView( ProgressBar ); // setup our media controller for viewing the position of media MediaController = new MediaController( Rock.Mobile.PlatformSpecific.Android.Core.Context ); MediaController.SetAnchorView( view ); MediaController.SetMediaPlayer( this ); ResultView = new UIResultView( view, new System.Drawing.RectangleF( 0, 0, NavbarFragment.GetFullDisplayWidth( ), this.Resources.DisplayMetrics.HeightPixels ), delegate { // we know we're bound, so now just retry. ResultView.Hide( ); PlayerState = MediaPlayerState.Preparing; StartAudio( ); SyncUI( ); }); return view; }
private void Application_Startup(object sender, StartupEventArgs e) { FrameworkElement currentPlayer = null; string queryString = HtmlPage.Document.DocumentUri.Query; queryParameters = new Dictionary<string, IEnumerable<string>>(); if (!string.IsNullOrEmpty(queryString)) { queryString = queryString.TrimStart('?'); var r = from s in queryString.Split('&') let parts = s.Split('=').Select(str => HttpUtility.UrlDecode(str)).ToArray() select new { k = parts.Length == 1 ? string.Empty : parts.First(), val = parts.Length == 1 ? (IEnumerable<string>)parts : parts.Skip(1) }; queryParameters = r.ToDictionary(i => i.k, s => s.val); } initParams = new Dictionary<string, string>(); if (e.InitParams != null) { initParams = e.InitParams; string playerType; // Get query string parameters for passing mediaitem to the player e.InitParams.TryGetValue("sourceRequestParam", out sourceRequestParam); // Initialize provider for retreiving or parsing a playlist e.InitParams.TryGetValue("provider", out provider); // Get the player type from initparams or query string if (!e.InitParams.TryGetValue("player", out playerType)) { IEnumerable<string> playerTypes; if (queryParameters.TryGetValue("player", out playerTypes)) playerType = playerTypes.FirstOrDefault(); } // get mediaitem or playlist sources string url; if (initParams.TryGetValue("url", out url)) { sources = new string[] { url }; } else { queryParameters.TryGetValue(sourceRequestParam, out sources); } // Initialise player from its type if (!string.IsNullOrEmpty(playerType)) { switch (playerType.ToLower()) { case "videosimple": { VideoPlayer player = new VideoPlayer(); currentPlayer = player; mediaController = player.Controller; player.Loaded += new RoutedEventHandler(player_Loaded); //Load ScriptCommands string strScriptCommandsUrl; if (initParams.TryGetValue("scriptcommandsurl", out strScriptCommandsUrl)) { mediaController.ScriptCommandsUrl = strScriptCommandsUrl; } } break; case "videowebslice": { VideoPlayerWebSlice player = new VideoPlayerWebSlice(); currentPlayer = player; mediaController = player.Controller; player.Loaded += new RoutedEventHandler(player_Loaded); //Load ScriptCommands string strScriptCommandsUrl; if (initParams.TryGetValue("scriptcommandsurl", out strScriptCommandsUrl)) { mediaController.ScriptCommandsUrl = strScriptCommandsUrl; } string videoLinkUrl; if (initParams.TryGetValue("videolinkurl", out videoLinkUrl)) { player.VideoLinkUri = new Uri(videoLinkUrl); } } break; case "video": { if (string.IsNullOrEmpty(provider)) { // No provider, we assume the url given are linked to media items instead of playlists if (sources.Count() <= 1) { VideoPlayer player = new VideoPlayer(); currentPlayer = player; mediaController = player.Controller; player.Loaded += new RoutedEventHandler(player_Loaded); //Load ScriptCommands string strScriptCommandsUrl; if (initParams.TryGetValue("scriptcommandsurl", out strScriptCommandsUrl)) { mediaController.ScriptCommandsUrl = strScriptCommandsUrl; } } else { VideoPlayerPlaylist player = new VideoPlayerPlaylist(); currentPlayer = player; mediaController = player.Controller; player.Loaded += new RoutedEventHandler(player_Loaded); } } else { VideoPlayerPlaylist player = new VideoPlayerPlaylist(); currentPlayer = player; mediaController = player.Controller; player.Loaded += new RoutedEventHandler(player_Loaded); //Load ScriptCommands string strScriptCommandsUrl; if (initParams.TryGetValue("scriptcommandsurl", out strScriptCommandsUrl)) { mediaController.ScriptCommandsUrl = strScriptCommandsUrl; } } } break; case "photo": { PhotoPlayer player = new PhotoPlayer(); currentPlayer = player; mediaController = player.Controller; player.Loaded += new RoutedEventHandler(player_Loaded); } break; case "deepzoom": { DeepZoomPlayer player = new DeepZoomPlayer(); currentPlayer = player; mediaController = player.Controller; player.Loaded += new RoutedEventHandler(player_Loaded); } break; } } } if (currentPlayer != null) this.RootVisual = currentPlayer; }
public Response<Media> putMedia(Media media, string id) { IncomingWebRequestContext requestContext = WebOperationContext.Current.IncomingRequest; Dictionary<string, string> data = new Dictionary<string, string>(); string authString = requestContext.Headers[HttpRequestHeader.Authorization]; data.Add("id", id); data.Add("type", ""); data.Add("description", media.description); data.Add("format", media.format); data.Add("media_category_id", media.mediaCategory.ToString()); data.Add("minutes", media.mediaLength.ToString()); data.Add("title", media.title); data.Add("user_account_id", media.user.ToString()); ; Request request = makeRequest(requestContext, trimData(data), authString); MediaController controller = new MediaController(); return controller.Call(request); }
void UpdateSessionToken() { var freshToken = service.SessionToken; if (sessionToken == null || sessionToken != freshToken) { if (controller != null) { controller.UnregisterCallback (mCb); } sessionToken = freshToken; controller = new MediaController (service, sessionToken); transportControls = controller.GetTransportControls(); if (started) { controller.RegisterCallback (mCb); } } }
public Response<Media> getMediaUserByTag(string userid, string userTagId) { IncomingWebRequestContext requestContext = WebOperationContext.Current.IncomingRequest; Dictionary<string, string> data = new Dictionary<string, string>(); string authString = requestContext.Headers[HttpRequestHeader.Authorization]; data.Add("user_account_id", userid); data.Add("user_account_tag_id", userTagId); Request request = makeRequest(requestContext, trimData(data), authString); MediaController controller = new MediaController(); return controller.Call(request); }
public Response<Media> getMedias(string user, string tag, string mediaCategoryFilter, string nameFilter, string page, string limit) { IncomingWebRequestContext requestContext = WebOperationContext.Current.IncomingRequest; Dictionary<string, string> data = new Dictionary<string, string>(); string authString = requestContext.Headers[HttpRequestHeader.Authorization]; data.Add("tag", tag); data.Add("user_account_id", user); data.Add("media_category_id", mediaCategoryFilter); data.Add("title", nameFilter); if (limit == null) { limit = "20"; } data.Add("limit", limit); if (page == null) { page = "1"; } data.Add("page", page); Request request = makeRequest(requestContext, trimData(data), authString); MediaController controller = new MediaController(); return controller.Call(request); }