You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET生成WMP视频播放器EXE后加载AxInterop.WMPLib失败求助

VB.NET WMP视频播放问题解决方案

一、解决程序集'AxInterop.WMPLib'找不到的问题

  • 方案1:手动复制依赖程序集
    把bin目录下的AxInterop.WMPLib.dll和Interop.WMPLib.dll两个文件,和你的EXE文件放在同一个目录下,程序运行时就能找到这些依赖文件。
  • 方案2:嵌入互操作类型(推荐)
    1. 在VS解决方案资源管理器中,找到项目“引用”节点下的AxInterop.WMPLib和Interop.WMPLib
    2. 分别右键这两个引用,选择“属性”
    3. 将“嵌入互操作类型”属性设置为True
      编译时编译器会把互操作类型的必要部分嵌入到EXE中,无需额外携带DLL文件。

二、将视频嵌入应用程序(无需外部视频文件)

WMP控件的URL属性需要指向实际文件路径,因此要把嵌入的视频资源提取到临时文件再播放,步骤如下:

1. 添加视频到嵌入资源

  • 右键VB.NET项目,选择“添加”->“现有项”,选中要嵌入的视频文件
  • 在文件属性窗口,设置“生成操作”为嵌入的资源

2. 提取资源并播放的代码示例

Imports System.IO
Imports System.Reflection

Public Class Form1
    Private tempVideoPath As String = Path.Combine(Path.GetTempPath(), "embedded_video.mp4") ' 临时文件路径,根据视频格式修改后缀

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' 从嵌入资源提取视频到临时文件,替换为你的项目命名空间和视频文件名
        ExtractEmbeddedResource("YourProjectNamespace.YourVideoFileName.mp4", tempVideoPath)

        ' 设置WMP控件播放临时文件
        AxWindowsMediaPlayer1.URL = tempVideoPath
    End Sub

    Private Sub ExtractEmbeddedResource(resourceName As String, outputPath As String)
        Using resourceStream As Stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)
            If resourceStream IsNot Nothing Then
                Using fileStream As New FileStream(outputPath, FileMode.Create, FileAccess.Write)
                    resourceStream.CopyTo(fileStream)
                End Using
            Else
                Throw New FileNotFoundException("找不到嵌入的资源文件", resourceName)
            End If
        End Using
    End Sub

    Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
        ' 程序退出时删除临时文件
        If File.Exists(tempVideoPath) Then
            Try
                File.Delete(tempVideoPath)
            Catch ex As Exception
                ' 处理删除失败的情况,比如文件被占用
            End Try
        End If
    End Sub
End Class

注意事项:

  • 替换代码中的YourProjectNamespace为你的项目命名空间(可在项目属性“应用程序”标签中查看)
  • 替换YourVideoFileName.mp4为你添加的视频文件名(需和嵌入资源名称完全一致,包括后缀)
  • 选择WMP支持的视频格式,比如MP4、WMV等

内容的提问来源于stack exchange,提问作者user979331

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:14:51