2011-10-27 13 views
1

こんにちはアイブ氏は日の最後のカップルのために、この上で私の髪を引っ張っされたウェブからmp3を再生し、私は、Silverlightアプリケーション内のMediaElementは、C#で書かれているHTTP経由でMP3をストリーミングしようとしているC#のSilverlightのMediaElementは文句を言わない

イムSilverlightアプリで再生します。このエラーがが原因で表示され、ネット上で検索した後mp3が

AG_E_NETWORK_ERROR

を再生しないであろうと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<ExceptionRoutedEventArgs>(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(); 
     } 
+0

MP3のサイズは?ストリーム全体(MP3)が正しい形式で受信されていますか? –

+0

@AllanChuaこんにちは、mp3は大丈夫です、私はちょうどWindowsのサンプルwmaでそれを試したと私は同じことを得る、例外は瞬間です、私はnetstatを見てサイトに接続しようとアプリを参照してくださいを参照してください – stedotmartin

+0

何私は尋ねたいのですが、プレーヤーのソースが完全に受信された場合、クイックウォッチを使用しようとしましたか? –

答えて

0

私はあなたがあなたの例では、実際のURLを使用している参照してください。あなたのサイトをチェックしたところ、http://www.sm-testing.co.uk/ClientAccessPolicy.xmlファイルまたはhttp://www.sm-testing.co.uk/crossdomain.xmlファイルがありません。

これらのファイル(preferably ClientAccessPolicy.xmlは古いFlash互換の形式で、一部の機能が欠けているため)がない場合、Silverlightはホストされているドメインのファイルのみを取得します。これは、許可なしにどこからでもからSilverlightアプリケーションのデータや画像を取り込むのを防ぐセキュリティ機能です。あなたはフラッシュがあまりにもアプリにアクセスを開放する場合を除き、あなたは、同様のcrossdomain.xmlを必要としない

<?xml version="1.0" encoding="utf-8"?> 
<access-policy> 
     <cross-domain-access> 
     <policy> 
      <allow-from http-request-headers="*"> 
      <domain uri="http://*" /> 
      <domain uri="https://*" /> 
      </allow-from> 
      <grant-to> 
      <resource path="/" include-subpaths="true"/> 
      </grant-to> 
     </policy> 
     </cross-domain-access> 
</access-policy> 

例ClientAccessPolicy.xmlは、以下のいずれかのHTTPまたはHTTPSリクエストへのアクセスを許可します: )

+0

あなたの助けてくれてありがとう、msdnが言うように2つのファイルを追加しました。ケーシングは2つのファイルのために重要ですか? msdnにはそういうものがあるので、私は小文字を追加しました。 – stedotmartin

+0

@Shutupsquare:ClientAccessPolicy.xmlだけが必要ですが、SOAPAction用に設定されているのはなぜですか?それを 'allow-from http-request-headers =" * "'にします。上記の更新例を参照してください。 –

+0

あなたの伝説、感謝を働かせた男: – stedotmartin

関連する問題