我有一个应用程序,它可以从URL的MP3格式播放音频和到现在为止我一直在使用该任务的WMP控制。 (Interop.WMPLib.dll)如何避免依赖项丢失时的异常? (WMP控制)
但最近我发现我的应用程序不会启动,为没有安装WMP的客户端抛出“System.InvalidOperationException”。
我已经是或者使用其只支持WAV文件或其中仍然需要WMP方法的方法搜索发现的唯一的替代方法。
是否有不需要从客户端太多其他选择? 或者,如果客户端没有安装WMP并且只是在禁用了mp3播放功能的情况下继续运行应用程序,是否有办法忽略该异常?
也许我的实现是造成在启动时就异常密切? 这里的代码,可能是相关的:(我会包括我是如何处理异常只是柜面有什么事我可以在改变)
框架4.0,目标CPU:86
哦,“嵌入互操作类型是‘真’的‘Interop.WMPLib.dll’
Imports WMPLib
Public Class frmMain
Inherits System.Windows.Forms.Form
Public Sub New()
MyBase.New()
AddHandler Application.ThreadException, AddressOf OnThreadException
AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf UnhandledExceptionEventRaised
InitializeComponent()
System.Windows.Forms.Application.EnableVisualStyles()
End Sub
Sub UnhandledExceptionEventRaised(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs)
If e.IsTerminating Then
Dim o As Object = e.ExceptionObject
MessageBox.Show(o.ToString)
End If
End Sub
Private Sub OnThreadException(ByVal sender As Object, ByVal e As ThreadExceptionEventArgs)
MessageBox.Show(e.Exception.Message & Environment.NewLine & Environment.NewLine & e.Exception.InnerException.ToString)
End Sub
Public WithEvents mp3Player As New WindowsMediaPlayer
'frmMain_Load etc..
Private Sub btnAudio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAudio.Click
Dim mp3URL As String = "http://host.com/file.mp3"
mp3Player.URL = mp3URL
mp3Player.controls.play()
End Sub
End Class
当然,还有更多的代码比,但我只包括任何相关信息。
帮助感谢〜!
编辑:我发现这个方法http://content.gpwiki.org/index.php/VBNET:AudioVideoPlayback
请问这或多或少兼容? > - <
是否有必要在客户端计算机上嵌入在我的应用程序? – Sakuya