C#Silverlight MediaElementはWebからmp3を再生しません

こんにちは私は最後のカップルのためにこれ以上の私の髪を引っ張ってきた、私はC#で書かれたSilverlightアプリケーションでメディア要素を持っている

私はhttpを介してMP3をストリーミングして、Silverlightアプリで再生しようとしています。それは言う例外をキャッチ続けるが

AG_E_NETWORK_ERROR

mp3は再生されず、MediaElement.MediaOpenedイベントは発生しません

ネット上で検索した後、このエラーはキュロップソースに起因すると思われますが、mp3でウェブブラウザをポイントするとmp3が正常に再生されます。

コードをheres

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
Silverlight Appと同じドメインからロードしていますか?そうでない場合は、www.sm-testing.co.ukのルートにクロスドメインポリシーファイルがありますか?
追加された 著者 Gone Coding,
ライブリンクとコードを提供するための+1(チェックするのは簡単ですが、あなたのセキュリティにとっては素晴らしいことではありません)。また、あなたのウェブサイトでフォルダの閲覧をオフにすることもできます:)
追加された 著者 Gone Coding,
@AllanChuaこんにちは、mp3は大丈夫です、私はちょうど窓のサンプルwmaでそれを試したと私は同じことを得る、例外は瞬間であり、私はアプリケーションがnetstatを見てサイトに接続しようとするのを見ることができない
追加された 著者 stedotmartin,
そのサイトは私のサンドボックスなので、ありがとうございます、唯一のものは、私は人々がmp3の希望を聞かせるために訴えられるかもしれません50セントはstackoverflowには行っていない、私はすでに@HiTechMagicを読んだ後にclientaccesspolicyとcrossdomainpolicyを探しています答え、すぐに報告します
追加された 著者 stedotmartin,
MP3のサイズは?ストリーム全体(MP3)が正しい形式で受信されていますか?
追加された 著者 Allan Chua,
私が尋ねたいのは、プレーヤーのソースが完全に受信されている場合にクイックウォッチを使用しようとしましたか?
追加された 著者 Allan Chua,

1 答え

私はあなたの例で実際のURLを使っているのを見ています。私はあなたのサイトをチェックしましたが、 http://www.sm-testing.co.uk /ClientAccessPolicy.xml ファイルまたは http://www.sm-testing.co .uk/crossdomain.xml ファイル。

これらのファイルがない場合(好ましくはClientAccessPolicy.xml です。もう1つは旧式のFlash互換フォーマットであり、いくつかの機能が欠けています)Silverlightはホストされているドメインからファイルを取得します。これは、Silverlightアプリケーションが許可なくどこからでもからデータや画像を取得するのを防ぐセキュリティ機能です。

以下のClientAccessPolicy.xmlの例では、httpまたはhttps要求へのアクセスを許可しています。

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

      
        
          
            
            
          
          
            
          
        
      

Flashアプリケーションへのアクセス権も開かない限り、crossdomain.xmlは必要ありません。

0
追加された
@Shutupsquare:ClientAccessPolicy.xmlだけが必要ですが、SOAPAction用に設定されているのはなぜですか? allow-from http-request-headers = "*" にします。上記の更新例を参照してください。
追加された 著者 Gone Coding,
こんにちは、あなたの助けてくれてありがとう、私は2つのファイルをmsdnが言うように追加しました。 msdnにはそういうものがあるので、私は小文字を追加しました。
追加された 著者 stedotmartin,
あなたの伝説を働かせたDude、ありがとう:)
追加された 著者 stedotmartin,
乾杯、良い週末を持っている!
追加された 著者 stedotmartin,