C# - Воспроизведение видео с ресурсов в компоненте wmp
У меня есть компонент wmp в C# Windows Forms, и я хочу, чтобы он воспроизводил видео (.avi) из ресурсов решения. Мне нужно знать код для компонента wmp, чтобы найти видео. Предложения?
1 ответ
Решение
В настоящее время существует способ потоковой передачи файла.
Прежде всего, нам нужно место, где это должно быть всегда возможно
string streamPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\";
Следующий шаг - экземпляр MediaPlayer
WindowsMediaPlayer wmp = new WindowsMediaPlayer();
Затем нам нужно передать ресурс сборки
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Smartis.Resources.Natur.wmv");
using (Stream output = new FileStream (streamPath + "mediafile.avi", FileMode.Create))
{
byte[] buffer = new byte[32*1024];
int read;
while ( (read= stream.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, read);
}
}
Наконец мы должны быть в состоянии загрузить файл.
wmp.URL = streamPath + "mediafile.avi";
wmp.controls.play();
После игры не забудьте очистить папку:
File.Delete(streamPath + "mediafile.avi");