AXWindowsMediaPlayer 找不到嵌入式资源 MP3
AXWindowsMediaPlayer not finding embedded resource MP3
我有一个嵌入式资源文件(确切地说是 MP3),可以播放短促的声音。我想要它以便于传输文件,因为我有很多文件要添加。
当我尝试播放时,WMP 只是说找不到文件。
我正在使用 axWindowsMediaPlayer1.URL = @"ultraelecguitar.Properties.Resources.pitchedbeep";
访问它。它被添加到资源管理器中,并被标记为嵌入资源。当我 运行 我的程序和目录中的文件时,它工作得很好。当我不这样做时,它根本不起作用。
如果您将资源保存为临时文件,那么您可以将其路径提供为 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;
}
我有一个嵌入式资源文件(确切地说是 MP3),可以播放短促的声音。我想要它以便于传输文件,因为我有很多文件要添加。
当我尝试播放时,WMP 只是说找不到文件。
我正在使用 axWindowsMediaPlayer1.URL = @"ultraelecguitar.Properties.Resources.pitchedbeep";
访问它。它被添加到资源管理器中,并被标记为嵌入资源。当我 运行 我的程序和目录中的文件时,它工作得很好。当我不这样做时,它根本不起作用。
如果您将资源保存为临时文件,那么您可以将其路径提供为 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;
}