none
VB2010でMicrosoft.DirectX・Microsoft.DirectX.AudioVideoPlaybackの参照の追加 RRS feed

  • 質問

  • VB2010にて音楽を再生するためにMicrosoft.DirectX及びMicrosoft.DirectX.AudioVideoPlaybackをMy Projectで参照の追加をしたいのですが、見つかりません。

    VB2008では参照できます。VB2008で作ったものをVB2010に持ってきた場合には参照に追加されていますが一覧からは削除はできますが追加はできません。

    Code:

    Dim fileNm As String = "[音楽ファイル]"

    Dim audio As New Microsoft.DirectX.AudioVideoPlayback.Audio(fileNm)

    audio.Play(fileNm)

    2010年6月7日 0:38

回答

  • Chukiと申します。

    下記の文言を見る限り、次のSDKでVS2010に対応するようです。

    DirectX Software Development Kit  February 2010
    http://www.microsoft.com/downloadS/details.aspx?familyid=2C7DA5FB-FFBB-4AF6-8C66-651CBD28CA15&displaylang=en

    Support for Visual Studio 2005 and Visual Studio 2010

    In the next release, the DirectX SDK will add support for Visual Studio 2010. At that time, the DirectX SDK will no longer support Visual Studio 2005; the February 2010 release will be the last release to support Visual Studio 2005. The next release will continue to support Visual Studio 2008.

    無理やり参照させたい場合は、VB2008で参照した時に表示されるパスのファイルを直接参照してやればOKです。

    【例】
    "C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dll"

    ターゲットフレームワークは.NET 4.0未満にしてください。
    ターゲットCPUはx86にしないとx64環境でエラーがでます。

    次のリリースでは.NET 2.0以降のモジュールも追加されていることを希望orz

     

    • 回答としてマーク Kansaian_Dev 2010年6月7日 6:21
    2010年6月7日 4:55

すべての返信

  • Chukiと申します。

    下記の文言を見る限り、次のSDKでVS2010に対応するようです。

    DirectX Software Development Kit  February 2010
    http://www.microsoft.com/downloadS/details.aspx?familyid=2C7DA5FB-FFBB-4AF6-8C66-651CBD28CA15&displaylang=en

    Support for Visual Studio 2005 and Visual Studio 2010

    In the next release, the DirectX SDK will add support for Visual Studio 2010. At that time, the DirectX SDK will no longer support Visual Studio 2005; the February 2010 release will be the last release to support Visual Studio 2005. The next release will continue to support Visual Studio 2008.

    無理やり参照させたい場合は、VB2008で参照した時に表示されるパスのファイルを直接参照してやればOKです。

    【例】
    "C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dll"

    ターゲットフレームワークは.NET 4.0未満にしてください。
    ターゲットCPUはx86にしないとx64環境でエラーがでます。

    次のリリースでは.NET 2.0以降のモジュールも追加されていることを希望orz

     

    • 回答としてマーク Kansaian_Dev 2010年6月7日 6:21
    2010年6月7日 4:55
  • 無理やり参照させたい場合は、VB2008で参照した時に表示されるパスのファイルを直接参照してやればOKです。

    【例】
    "C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dll"


    ご存知とは思いますが念のため。

    プロジェクト名を右クリック⇒「参照の追加(F)...」⇒「参照」タブ⇒ファイル名:テキストボックスにファイル名を記述してください。

    2010年6月7日 5:24
  • Chukiと申します。

    下記の文言を見る限り、次のSDKでVS2010に対応するようです。

    DirectX Software Development Kit  February 2010
    http://www.microsoft.com/downloadS/details.aspx?familyid=2C7DA5FB-FFBB-4AF6-8C66-651CBD28CA15&displaylang=en

    Support for Visual Studio 2005 and Visual Studio 2010

    In the next release, the DirectX SDK will add support for Visual Studio 2010. At that time, the DirectX SDK will no longer support Visual Studio 2005; the February 2010 release will be the last release to support Visual Studio 2005. The next release will continue to support Visual Studio 2008.

    無理やり参照させたい場合は、VB2008で参照した時に表示されるパスのファイルを直接参照してやればOKです。

    【例】
    "C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dll"

    ターゲットフレームワークは.NET 4.0未満にしてください。
    ターゲットCPUはx86にしないとx64環境でエラーがでます。

    次のリリースでは.NET 2.0以降のモジュールも追加されていることを希望orz

     

     目からうろこです、ドキュメントには目を通しておくべきでした。


    'Microsoft.DirectX.dll' は、OS ローダー ロック内でマネージ実行を試行しています。DllMain またはイメージ初期化関数内でマネージ コードを実行しないでください。この動作は、アプリケーションをハングさせる原因になる可能性があります。'

    と警告が出ますが、実行はできました。

    そこで検索してみると、

    http://social.msdn.microsoft.com/forums/ja-JP/vsgeneralja/thread/f95e1de6-853f-4e9c-99fe-c1a6b657551a/

    が見当たり、設定すると警告もなくなりました。

     

     

    2010年6月7日 6:20
  • 次のリリースでは.NET 2.0以降のモジュールも追加されていることを希望orz


    残念ながら、そういうことはありません。
    http://blogs.msdn.com/b/windows_multimedia_jp/archive/2009/09/16/sdk.aspx

    将来性を考えるのであれば、Managed DirectX は使わないようにしましょう。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年6月7日 13:37
    モデレータ
  • VB2010にて音楽を再生するためにMicrosoft.DirectX及びMicrosoft.DirectX.AudioVideoPlaybackをMy Projectで参照の追加をしたいのですが、見つかりません。

    VB2008では参照できます。VB2008で作ったものをVB2010に持ってきた場合には参照に追加されていますが一覧からは削除はできますが追加はできません。

    Code:

    Dim fileNm As String = "[音楽ファイル]"

    Dim audio As New Microsoft.DirectX.AudioVideoPlayback.Audio(fileNm)

    audio.Play(fileNm)

    Windows フォームアプリケーションでしょうか?

    WPF には MediaElement という強力なコントロールが付随していますが、WPF ユーザーコントロールを使って Windows フォームに搭載することが可能です。

    http://d.hatena.ne.jp/hilapon/20100603/1275583609

    これなら Azulean さんが

    > 将来性を考えるのであれば、Managed DirectX は使わないようにしましょう。

    とおっしゃられる問題も解消されるかと思います。


     


    ひらぽん http://d.hatena.ne.jp/hilapon/
    2010年6月7日 13:59
    モデレータ