Example #1
0
        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);
        }
Example #2
0
 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;
 }
Example #3
0
        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();
        }
Example #4
0
        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
                    { }
                }
            }
        }
Example #5
0
        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);
        }
Example #8
0
		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();
			}
		}
Example #9
0
        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);
        }
Example #11
0
 private static void Current_TrackChanged(MediaController sender, TrackChangedEventArgs args)
 {
     if (UDPServer.Current.ClientList?.Count > 0)
     {
         SendTrackChanged(args.NewTrack);
     }
 }
Example #12
0
 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();
        }
Example #15
0
 //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);
         }
     }
 }
Example #16
0
        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);
 }
Example #18
0
        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);
        }
Example #19
0
        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;
            }
        }
Example #20
0
        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);
        }
Example #21
0
        /**
         * \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();
        }
Example #22
0
        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);
        }
Example #23
0
        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);
            }
        }
Example #24
0
        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);
            }
        }
Example #25
0
        // 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));
            }
        }
Example #26
0
        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);
            }
        }
Example #27
0
        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();
            }
        }
Example #28
0
        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]));
                }
            }
        }
Example #33
0
                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;
                }
Example #34
0
        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);
        }