Bonjour à tous ....Je précise que je suis débutant en silverlight ....
J'ai monté un lecteur Vidéo avec plusieurs tutotriels piochés à droite et à gauche ...
je l'inclus dans une page aspx de mon site en cours de dévelopement ...
Quand je lance sur mon poste , donc sur mon serveur local de devloppement cela marche impeccable ...Mais lorsque je transfere mon appli chez mon hébergeur mon lecteur ne marche plus ...j'ai réussi à cerner l'erreur mais je ne la comprend pas ... je vous passe les trois ou quatre fonctions qui vous aiderons à comprendre mon développement et peut être me donner une piste ...
Je définis un objet MaVideo ou chemin est l'URL du fichier video à lire ...
sur le Page_Load de mon interface , je remplis mon objet avec les bonnes données et j'appelle ma fonction Go
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public MaVideo(string chemin, string titre, string description, string urlminiature) { Chemin = chemin; Titre = titre; Description = description; UrlMiniature = urlminiature; }
La fonction Go initialise une barre de progression maison et lance le télechargement de la video par la fonction ChargeLaVideao
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 private void Page_Loaded(object sender, RoutedEventArgs e) { Video = new MaVideo("http://centre-helio-marin.fr/Video/CHM01.wmv", "Monopousseur", "Monopousseurs au CHM", "http://centre-helio-marin.fr/Video/Image.jpg"); Go(Video); }
La fonction ChargeLaVideo gére la barre de progression et télecharge la vidéo avec la méthode OpenReadAsync, quand le téléchargement est terminé elle déclenche l'évement TelechargementTermine
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private void Go(MaVideo Video) { if (Video != null) { RectProgression.Width = 0; TxtProgression.Text = ""; ChargeLaVideo(Video.Chemin); } }
le gestionnaire d'évenement TelechargementTerminé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 private void ChargeLaVideo(string chemin) { WebClient wc = new WebClient(); wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(TelechargementEnCours); wc.OpenReadCompleted += new OpenReadCompletedEventHandler(TelechargementTermine); wc.OpenReadAsync(new Uri(chemin)); }
c'est dans cette fonction que je récupére l'erreur :
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 void TelechargementTermine(object sender, OpenReadCompletedEventArgs e) { if ((e.Error == null) && (e.Cancelled == false)) { PlayerVideo.SetSource(e.Result); if (!string.IsNullOrEmpty(Video.Chemin)) { TxtDescriptionVideo.Text = Video.Description; TxtProgression.Visibility = Visibility.Collapsed; RectProgression.Visibility = Visibility.Collapsed; BtLire.Visibility = Visibility.Visible; BtPause.Visibility = Visibility.Visible; } } }
Je comprend pas ...je suis perdu ...- e.Error {System.Security.SecurityException ---> System.Security.SecurityException: Erreur de sécurité.
à System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
à System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
à System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)
--- Fin de la trace de la pile d'exception interne ---
à System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
à System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
à System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
à System.Net.WebClient.OpenReadAsyncCallback(IAsyncResult result)} System.Exception {System.Security.SecurityException}
Je précise que quand je tape directement l'URL de ma vidéo dans IE ....elle se lit correctement dans le lecteur Windows Média (Essayer : http://centre-helio-marin.fr/Video/CHM01.wmv)
Si quelqu'un peut me dépanner je suis preneur ...
Merci d'avance ...
P.JEAN
Partager