C# 如何从资源中将视频加载到winforms中?

C# 如何从资源中将视频加载到winforms中?,c#,resources,mp4,C#,Resources,Mp4,我想在我的windows窗体应用程序中添加视频文件,视频格式类型为MP4。我已经搜索了如何添加视频,并找到了使用windows media player库的答案 我用过它,但一旦我把我的文件完整的URL,它在我的机器上工作,但当我安装在任何其他,它不发挥。我知道我给出视频位置的原因,这是我的高清位置,然后我进一步搜索并找到了嵌入资源,我确实将构建操作更改为嵌入资源,但再次遇到同样的问题 如何在代码中访问嵌入文件?我已经尝试过类似namespace.file.mp4或namespace.prope

我想在我的windows窗体应用程序中添加视频文件,视频格式类型为MP4。我已经搜索了如何添加视频,并找到了使用windows media player库的答案

我用过它,但一旦我把我的文件完整的URL,它在我的机器上工作,但当我安装在任何其他,它不发挥。我知道我给出视频位置的原因,这是我的高清位置,然后我进一步搜索并找到了嵌入资源,我确实将构建操作更改为嵌入资源,但再次遇到同样的问题

如何在代码中访问嵌入文件?我已经尝试过类似
namespace.file.mp4
namespace.properties.resources.file.mp4
的方法,但它说:

错误1无法将类型“byte[]”隐式转换为“string”L:\Project SciMult calc\videotesting2\videotesting2\Form1.cs 29 41 videotesting2


当您访问资源时,它是字节[],这就是您无法播放视频的原因。 您的方法需要的是路径而不是字节[]

您可以将资源写入磁盘,然后播放它

需要名称空间

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

这是我的简短代码,当用户单击“关于”菜单项时,我想播放一段视频

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";

        }
    }

}

请尝试发布一些代码,因为我很清楚您收到的错误消息,您试图将文件加载到字符串中,这显然是行不通的。将视频作为资源嵌入是一个相当糟糕的主意,因为它们太大了。要播放.mp4,需要一个知道如何处理特定视频格式(如AVC)的解码器。不是普遍可用的,你通常必须买一个。并通过尝试使用Windows Media Player进行播放来轻松验证。这是我的简短代码,当用户单击“关于”菜单项时,我想播放一段视频。当我尝试File.writealBytes(mp4path,namespaces.prop.res.my.mp4)时,但在资源之后,我的文件名不完整,扩展名也不完整。mp4不参与为什么?我想这是
系统。反射
(没有s)。更正,对此表示抱歉