Lecteur Vidéo sur site Web
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 ...
Code:
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;
} |
sur le Page_Load de mon interface , je remplis mon objet avec les bonnes données et j'appelle ma fonction Go
Code:
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 Go initialise une barre de progression maison et lance le télechargement de la video par la fonction ChargeLaVideao
Code:
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);
}
} |
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:
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));
} |
le gestionnaire d'évenement TelechargementTerminé :
Code:
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;
}
}
} |
c'est dans cette fonction que je récupére l'erreur :
Citation:
- 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 comprend pas ...je suis perdu ...
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