2011-01-23 14 views
1

vb.netでフォームにCOMコントロールAxWindowsMediaPlayerを追加しました。 exeファイルがある場合vb.netアプリケーションで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ファイルをディレクトリに保存されます。すべてのものがdev m/c上でうまく動作しますが、クライアントマシンアプリケーションではうまく動作しません。

Interop.WMPLib.dllとInterop.WMPLib.dllがexeファイルディレクトリにコピーされると、アプリケーションは少なくとも起動されますが、ファイルは自動的に再生されず、再生ボタンを押しても再生されません。

動作させるには、いくつかのDLL登録が必要ですか?プロジェクトに必要な参考文献 またはユーザーマシンの一部の変更?

答えて

1

DLLをコピーする必要があります。それ以外の場合は動作しません。これは、ファイルの場所を残します。完全なパス( "c:\ mumble \ foo.mp4"のような)ではなく、ファイルの相対的な位置だけを指定しています。あなたのマシンでは、このファイルを動作させるには、プロジェクトディレクトリのbin \ Debugフォルダにこのファイルを保存する必要があります。あなたのプログラムを配備する別のマシンはbin \ Debug(またはRelease)フォルダを持たないでしょう。 EXEと同じディレクトリに存在する必要があります。おそらく、あなたは.mp4ファイルをコピーするのを忘れていたでしょうか?

明らかに、ファイルを選択する方法をユーザーに提供する必要があります。 OpenFileDialogを使用します。

+0

私はファイルダイアログボックスを使用してファイルを選択しました。私もreg free comメソッドを使用しました。参照フォルダ内のWMPLibファイルのプロパティ(ソリューションエクスプローラの 'show all file'オプションに表示されています)では、分離プロパティをTrueに設定します。デフォルト値はfalseです。したがって、それをtrueに設定すると、dllファイルが生成され、プロジェクトを実行した後にマニフェストファイルが生成されます。これらのファイルがすべてクライアントマシンにコピーされると、Windows Media Playerが最終的に起動しました。 http://msdn.microsoft.com/hi-in/magazine/cc188708%28en-us%29.aspx – vaichidrewar

関連する問題