Вопрос:
Я хочу добавить видеофайл в мое приложение для форм Windows, тип видеоформата – MP4. Я уже искал, как добавить видео, и я нашел ответ на использование библиотеки медиаплеера Windows.
Я использовал его, но как только я поместил полный URL моего файла, он работает на моей машине, но когда я устанавливаю его на любой другой, он не воспроизводится. Я знаю причину, по которой я предоставляю местоположение видео, которое является моим местоположением HD, затем я искал дальше и обнаружил, что внедряю ресурсы, я меняю действие сборки на встраиваемые ресурсы, но снова имею ту же проблему.
Как я могу получить доступ к моему файлу встраивания в свой код? Я уже пробовал, как namespace.file.mp4 или namespace.properties.resources.file.mp4 но он говорит, что:
Ошибка 1 Невозможно неявно преобразовать тип ‘byte []’ в ‘string’ L:Project SciMult-calcvideotesting2videotesting2Form1.cs 29 41 videotesting2
Лучший ответ:
это мой короткий код, который я хочу воспроизвести, когда пользователь нажимает “О” menustripitem
using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Reflection; using System.Resources; namespace videotesting2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e) { axWindowsMediaPlayer1.URL = @»L:about.mp4″; } }
}
Ответ №1
Когда вы получаете доступ к ресурсу, это байт [], поэтому вы не можете воспроизводить видео. Ваш метод хочет, чтобы путь не был байтом [].
Вы можете записать ресурс на диск, а затем воспроизвести его.
необходимо пространство имён
using System.Reflection; using System.IO;
Что-то вроде этого
//Place it in the directory of your application string mp4Path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), «mp4File.mp4»); //check if it hasn’t been written to disk yet if (!File.Exists(mp4Path)) { //write it to disk File.WriteAllBytes(mp4Path, namespace.properties.resources.file.mp4); } //play using mp4Path