2011-08-01 9 views
2

ロード時にWebブラウザでFlash(.swf)ファイルを再生する必要があるWindowsアプリケーションを作成する必要があります。しかし、私はハードディスクからWebブラウザコントロールにFlashファイルを直接再生できます。ここでは、.swfファイルをResourcesフォルダで再生し、Webブラウザコントロールにロードする必要があります。助けてください。リソースフォルダに配置されたSWFファイルを再生するには

ありがとうございます。

+0

どのようにハードディスクからフラッシュを再生しますか? – abatishchev

+0

は、Webブラウザコントロールのナビゲート方法でパスを指定しただけです。 –

+0

動作するかどうかわかりませんが、リソースへのストリームの取得をテストしましたか?これを試して。そうでない場合は、ストリームを一時ファイルに書き込むのはどうですか? –

答えて

0
System.Reflection.Assembly thisExe; 
    thisExe = System.Reflection.Assembly.GetExecutingAssembly(); 
    System.IO.Stream file = thisExe.GetManifestResourceStream("Namespace.Filename"); 
    byte[] data = Properties.Resources.Filename; 
    file.Read(data, 0, data.Length); 
0

フラッシュ(.swf)ファイルを埋め込みリソースとして追加します。

このメソッドを使用すると、期待どおりに動作します。

private void Form1_Shown(object sender, EventArgs e) 
    { 
     Stream sr = Assembly.GetExecutingAssembly().GetManifestResourceStream("namespace.file.swf"); 
     if (sr == null) return; 
     var reader = new BufferedStream(sr); 
     string tempfile = Path.GetTempFileName() + ".swf"; 
     var data = new byte[reader.Length]; 
     reader.Read(data, 0, (int)reader.Length); 
     File.WriteAllBytes(tempfile, data); 
     webBrowser1.Url = new Uri(tempfile); 
    } 

希望します。

関連する問題