IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Problème de FullScreen MediaPlayer


Sujet :

Silverlight

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 35
    Points
    35
    Par défaut Problème de FullScreen MediaPlayer
    Bonjour,
    Je n'aime pas bien ça mais j'ai besoin d'une revue de code pour solutionner une erreur lors de l'ouverture d'une page popup après click sur le bouton fullscreen d'un media player.

    l'erreur obtenue est

    ArgumentException was unhandled by user code
    La valeur n'est pas comprise dans la plage attendue
    Il y a blocage complet de VS2008 à la ligne popUp.Child = player;
    Et impossible de consulter un éventuel point d'arret car tout l'environnement est figé.
    Je ne vois pas du tout d'ou ca peut provenir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
            private TimeSpan currentMediaElementPosition;
            private Popup popUp = new Popup();
     
    ...
     
    private void Content_FullScreenChanged(object sender, EventArgs e)
            {
                Debug.WriteLine("Content FSCh");
                this.currentMediaElementPosition = player.MediaElement.Position;
     
                if (Application.Current.Host.Content.IsFullScreen)
                {
                    player.Width = Application.Current.Host.Content.ActualWidth;
                    player.Height = Application.Current.Host.Content.ActualHeight;
                    popUp.IsOpen = true;
     
                    LayoutRoot.Children.Remove(player);
                    popUp.Child = player;
                }
                else
                {
                    player.Width = Double.NaN;
                    player.Height = Double.NaN;
                    popUp.Child = null;
     
                    if (!LayoutRoot.Children.Contains(player))
                    {
                        LayoutRoot.Children.Add(player);
                    }
                }
     
                player.IsFullScreen = Application.Current.Host.Content.IsFullScreen;
            }
     
            private void player_FullScreenChanged(object sender, EventArgs e)
            {
                player.MediaOpened += player_MediaOpened;
     
                Application.Current.Host.Content.IsFullScreen = player.IsFullScreen;
            }
     
            private void player_MediaOpened(object sender, Telerik.Windows.RadRoutedEventArgs e)
            {
                player.MediaElement.Position = this.currentMediaElementPosition;
            }
    Merci de m'aider.

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    A mon avis le problème vient du fait que l'on ne peut pas afficher un popup en plein écran.

    Ensuite la question : est-ce par design ou est-ce un bug.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Vu qu'on pas se servir du clavier en FullScreen c'est sans doute par Design

    EDIT : Sauf en mode Trusted
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 35
    Points
    35
    Par défaut
    Ca y est !
    J'ai trouvé le souci.
    Voici le code qui règle le problème.

    Juste avec un bémol : les vidéos smooth streaming ne s'ouvrent pas en full screen (du diable si je sais pourquoi mais j'ai eu la confirmation par l'équipe Telerik).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    private Panel panel;
     
    private void Content_FullScreenChanged(object sender, EventArgs e)
    {
        this.currentMediaElementPosition = player.MediaElement.Position;
     
        if (Application.Current.Host.Content.IsFullScreen)
        {
            player.Width = Application.Current.Host.Content.ActualWidth;
            player.Height = Application.Current.Host.Content.ActualHeight;
            popUp.IsOpen = true;
     
            panel = player.Parent as Panel;
            panel.Children.Remove(player);
            popUp.Child = player;
        }
        else
        {
            player.Width = Double.NaN;
            player.Height = Double.NaN;
            popUp.Child = null;
     
            if (!panel.Children.Contains(player))
            {
                panel.Children.Add(player);
            }
        }
     
        player.IsFullScreen = Application.Current.Host.Content.IsFullScreen;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de lecture MediaPlayer
    Par deepbreak dans le forum Android
    Réponses: 1
    Dernier message: 26/07/2012, 16h56
  2. Problème en Fullscreen
    Par Raydicule dans le forum Débuter
    Réponses: 3
    Dernier message: 06/06/2011, 17h48
  3. Problème de fullScreen sous Mozilla Firefox
    Par novice07 dans le forum Flash
    Réponses: 4
    Dernier message: 03/11/2007, 23h21
  4. Problème opera / mediaplayer 11
    Par voltadomar dans le forum Windows Vista
    Réponses: 3
    Dernier message: 07/07/2007, 01h48
  5. Problème avec mediaplayer
    Par yasinfo dans le forum Windows XP
    Réponses: 3
    Dernier message: 12/05/2007, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo