2016-04-07 14 views
1

私は短いブープを演奏する埋め込みリソースファイル(正確にはMP3)を持っています。AXWindowsMediaPlayerに埋め込みリソースが見つかりませんでした。MP3

私はそれを再生しようとすると、単にファイルを見つけることができないと言います。 私はaxWindowsMediaPlayer1.URL = @"ultraelecguitar.Properties.Resources.pitchedbeep";を使ってアクセスしています。これはリソースマネージャーに追加され、埋め込みリソースとしてマークされます。ディレクトリ内のファイルを使用してプログラムを実行すると、正常に動作します。私はそうしないと、まったく動かない。

答えて

0

リソースを一時ファイルとして保存すると、そのパスをURLとして指定できます。

static void Main(string[] args) 
    { 
     var wmp = new WMPLib.WindowsMediaPlayer(); 
     wmp.URL = CreateTempFileFromResource("ConsoleApplication1.mp3.somefile.mp3"); 
     Console.ReadKey(); 
    } 
    private static string CreateTempFileFromResource(string resourceName) 
    { 
     var tempFilePath = Path.GetTempFileName() + Path.GetExtension(resourceName); 
     using (var resourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)) 
     using (var tempFileStream = new FileStream(tempFilePath, FileMode.Create)) 
     { 
      resourceStream.CopyTo(tempFileStream); 
     } 
     return tempFilePath; 
    } 
関連する問題