私は、単純な音楽プレーヤーを書いていると私はので、私はPlaySoundがその機能をサポートしていませんので、これを実行するには、Microsoft :: DirectXの:: AudioVideoPlayback APIを使用しようとしている音楽を一時停止できるようにする必要があります。ただし、プログラムはブレークポイントをトリガして例外をスローします。Microsoft :: DirectX :: AudioVideoPlaybackを使用してオーディオを再生する方法
だから私は、空のフォームを持つ、新しい空のVisual C++ CLR空のプロジェクトを作成し、唯一の新しいオーディオオブジェクトを初期化し、オーディオファイルを再生するためのコードを追加し、私はまだ同じ例外を取得しています。問題が発生する行は、オーディオオブジェクトの新しいインスタンスが作成される行です。
私は非常にVisual Studioに経験していないと私は前にこのAPIを使用したことがありません。私はMicrosoft :: DirectXとMicrosoft :: DirectX :: AudioVideoPlayback .dllファイルへの参照をプロジェクトに追加しました。オーディオファイルはディレクトリにあります。私はオンラインで見つけたいくつかのことを試しましたが、何も効果がありませんでした。どんな助けでも大歓迎です!
#pragma once
namespace Project3 {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace Microsoft::DirectX::AudioVideoPlayback;
/// <summary>
/// Summary for MyForm
/// </summary>
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
protected:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~MyForm()
{
if (components)
{
delete components;
}
}
private:
/// <summary>
/// Required designer variable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
this->components = gcnew System::ComponentModel::Container();
this->Size = System::Drawing::Size(300,300);
this->Text = L"MyForm";
this->Padding = System::Windows::Forms::Padding(0);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
Audio^ myAudio;
myAudio = gcnew Audio("Carl Grimes - Carl Poppa.wav", false);
myAudio->Play();
}
#pragma endregion
};
}