我有一個應用程序,它可以從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