【问题标题】:In vb.net application AxWindowsMediaPlayer does not work on client machines在 vb.net 应用程序中,AxWindowsMediaPlayer 在客户端机器上不起作用
【发布时间】:2011-06-14 02:15:29
【问题描述】:

我在 vb.net 中添加了 COM 控件 AxWindowsMediaPlayer。

只有下面的代码

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WMPlayerVideo.URL = "abase.mp4"
    End Sub

End Class

abase.mp4 文件保存在 exe 所在的目录中。一切都在 dev m/c 上运行良好,但在客户端机器应用程序上却没有运行。

当 Interop.WMPLib.dll 和 Interop.WMPLib.dll 被复制到 exe 文件目录时,应用程序至少会启动,但文件不会自动播放,即使按下播放按钮也不会播放。

是否需要一些 dll 注册才能使其工作?或者项目中需要一些参考资料? 或者用户机器上的一些变化?

【问题讨论】:

    标签: vb.net dll com windows-media-player


    【解决方案1】:

    需要复制 DLL,否则无法正常工作。留下文件的位置。您只提供文件的相对位置,而不是完整路径(如“c:\mumble\foo.mp4”)。在您的机器上,该文件需要存储在项目目录的 bin\Debug 文件夹中才能正常工作。您将程序部署到的另一台机器不会有 bin\Debug(或 Release)文件夹。它仍然需要与 EXE 位于同一目录中。也许你忘了复制 .mp4 文件?

    显然,您希望为用户提供一种选择文件的方法。使用 OpenFileDialog。

    【讨论】:

    • 是的,我使用文件对话框来选择文件,并且我还使用了 reg free com 方法。在引用文件夹中 WMPLib 文件的属性中(在解决方案资源管理器中的“显示所有文件”选项中看到),我将隔离属性设置为 True。它的默认值为假。所以设置为true会生成dll文件,运行项目后的manifest文件。当所有这些文件都复制到客户端机器上后,windows media player 终于启动了。 msdn.microsoft.com/hi-in/magazine/cc188708%28en-us%29.aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多