C # Silverlight MediaElement speelt geen mp3 vanaf internet

Hallo, ik heb hier de laatste dagen mijn haren uitgehaald, ik heb een media-element in een Silverlight-app geschreven in C #

Ik probeer een MP3 via http te streamen en via de silverlight-app te spelen. Hoewel het een uitzondering blijft vangen die zegt

AG_E_NETWORK_ERROR

De mp3 wordt niet afgespeeld en de MediaElement.MediaOpened-gebeurtenis vuurt nooit

Na het zoeken op het net lijkt deze fout te wijten aan een curropt-bron maar de mp3 speelt prima als ik een webbrowser op de mp3 richt.

hier is de code

private void button1_Click(object sender, RoutedEventArgs e)
        {

            Uri source = new Uri("http://www.sm-testing.co.uk/mixes/youdontknow.mp3");
            mediaElement1.Source = source;
            mediaElement1.MediaFailed += new EventHandler(mediaElement1_MediaFailed);
            mediaElement1.MediaOpened +=new RoutedEventHandler(mediaElement1_MediaOpened);


        }


        void mediaElement1_MediaFailed(object sender, ExceptionRoutedEventArgs e)
        {
            MessageBox.Show( e.ErrorException.ToString());
        }

        private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)
        {

            mediaElement1.Play();
        }
1
Laad je het vanuit hetzelfde domein als je Silverlight-app? Zo nee, hebt u een crossdomein beleidsbestand in de root van www.sm-testing.co.uk?
toegevoegd de auteur Gone Coding, de bron
+1 voor het leveren van een live link en code (maakt het eenvoudig om te controleren, maar niet zo geweldig voor uw veiligheid). U wilt misschien ook map browsing op uw website uitschakelen :)
toegevoegd de auteur Gone Coding, de bron
@AllanChua Hallo, ja, de mp3 is prima, ik heb het net geprobeerd met de windows-voorbeeld wma en ik krijg hetzelfde, de uitzondering is direct en ik kan de app niet zien die probeert een verbinding te maken met de site die naar netstat kijkt
toegevoegd de auteur stedotmartin, de bron
Bedankt voor de tips, hoewel die site mijn sandbox is, het enige is dat ik misschien aangeklaagd word omdat mensen naar de mp3 mogen luisteren hoop 50 cent gaat niet op stackoverloop, ik ben al aan het kijken naar het clientaccessbeleid en crossdomeinbeleid na het lezen van @HiTechMagic antwoord, ik zal binnenkort verslag doen
toegevoegd de auteur stedotmartin, de bron
Hoe groot is de MP3? weet je zeker dat je de hele stream (MP3) in de juiste indeling ontvangt?
toegevoegd de auteur Allan Chua, de bron
Wat ik wil vragen, is dat je een snelle wacht probeerde te gebruiken als de bron van de speler volledig werd ontvangen?
toegevoegd de auteur Allan Chua, de bron

1 antwoord

Ik zie dat u in uw voorbeeld een echte URL hebt gebruikt. Ik heb je site gecontroleerd en er is geen http://www.sm-testing.co.uk /ClientAccessPolicy.xml bestand of http://www.sm-testing.co .uk/crossdomain.xml bestand.

Zonder een van deze bestanden ( bij voorkeur ClientAccessPolicy.xml omdat de andere een oud Flash-compatibiliteitsformaat is en sommige functies mist) Silverlight haalt alleen bestanden op uit het domein waarop het wordt gehost. Dit is een beveiligingsfunctie om te voorkomen dat de Silverlight-app gegevens of afbeeldingen van alleen anywhere zonder toestemming neemt.

Voorbeeld ClientAccessPolicy.xml hieronder geeft toegang tot elke http- of https-aanvraag:

<?xml version="1.0" encoding="utf-8"?>

      
        
          
            
            
          
          
            
          
        
      

U hebt ook geen crossdomain.xml nodig, tenzij u ook toegang tot Flash-apps wilt openen:)

0
toegevoegd
@Shutupsquare: u heeft alleen ClientAccessPolicy.xml nodig, maar waarom heeft u het alleen voor SOAPAction geconfigureerd? Maak het allow-from http-request-headers = "*" . Zie bijgewerkte voorbeeld hierboven.
toegevoegd de auteur Gone Coding, de bron
Hallo bedankt voor je hulp, ik heb de 2 bestanden toegevoegd volgens wat msdn zegt te doen, maar het ding speelt nog steeds niet, is de behuizing belangrijk voor de 2 bestanden ?. Ik heb ze met kleine letters toegevoegd omdat msdn ze op die manier had.
toegevoegd de auteur stedotmartin, de bron
Kerel die je een legende bezorgde, bedankt :)
toegevoegd de auteur stedotmartin, de bron
juicht knop toe, een goed weekend!
toegevoegd de auteur stedotmartin, de bron