Ich schreibe einen einfachen Musik-Player und muss die Musik pausieren können, daher versuche ich die Microsoft :: DirectX :: AudioVideoPlayback-API zu verwenden, da PlaySound diese Funktionalität nicht unterstützt. Das Programm löst jedoch immer einen Haltepunkt aus und löst eine Ausnahme aus.Wie verwende ich Microsoft :: DirectX :: AudioVideoPlayback um Audio abzuspielen?
Also habe ich ein neues leeres Visual C++ CLR Empty Project mit einem leeren Formular erstellt und nur den Code hinzugefügt, um ein neues Audio-Objekt zu initialisieren und eine Audiodatei abzuspielen und ich bekomme immer noch die selbe Ausnahme. Die Zeile, in der das Problem auftritt, ist die Zeile, in der die neue Instanz des Audioobjekts erstellt wird.
Ich bin nicht sehr erfahren mit Visual Studio und ich habe diese API noch nie zuvor verwendet. Ich habe Verweise auf Microsoft :: DirectX- und Microsoft :: DirectX :: AudioVideoPlayback-DLL-Dateien zum Projekt hinzugefügt, die Audiodatei befindet sich im Verzeichnis. Ich habe ein paar Dinge ausprobiert, die ich online gefunden habe, aber nichts hat funktioniert. Jede Hilfe würde sehr geschätzt werden!
Hier ist die myForm.h Datei:
#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
};
}