Musik mit DirectX abspielen



  • Guten Tag,
    ich habe ein Problem,
    undzwar habe ich ein Buch,
    welches sehr alt ist. Mit diesem Buch wird unteranderem erklärt, wie man DirectX für Audio verwenden kann, doch das Problem ist die Header Datei gibt es nicht mehr. Ich hab mir gedacht, dann lad ich die doch einfach herunter, doch dieses Include brauchte noch mehr andere. Übrigens es heitßt dmusici.h
    Ich habe folgendes geschrieben, bis ich auf den Fehler kam, dass ein Include in dmusici nicht vorhanden ist:

    void DAudio::Abspielen(char file[], HWND hWnd)
    {
    	IDirectMusicPerformance* lpPerformance;
    	IDirectMusicLoader* lpLoader;
    	IDirectMusicSegment* lpSegment;
    	CoInitialize(NULL);
    	CoCreateInstance(CLSID_DirectMusicPerformance, NULL, CLSCTX_INPROC, IID_IDirectMusicPerformance8, (LPVOID*)&lpPerformance);
    	CoCreateInstance(CLSID_DirectMusicLoader, NULL, CLSCTX_INPROC, IID_IDirectMusicLoader8, (LPVOID*)&lpLoader);
    
    	WCHAR filo[MAX_PATH];
    
    	MultiByteToWideChar(CP_ACP, 0, file, -1, filo, MAX_PATH);
    
    	lpPerformance->InitAudio(NULL, NULL, hWnd, DMUS_APATH_DYNAMIC_STEREO, 64, DMUS_AUDIOF_ALL);
    	lpLoader->SetSearchDirectory(GUID_DirectMusicAllTypes, filo, FALSE);
    
    	if (FAILED(lpLoader->LoadObjectFromFile(CLSID_DirectMusicSegment,
    											IID_IDirectMusicSegment8,
    											filo,
    											(LPVOID*)&lpSegment)))
    	{
    		MessageBox(NULL, "FEHLER Code : LoadObjectFromFile(...)", "FEHLER", NULL);
    
    	}
    
    	lpSegment->Download(lpPerformance);
    	lpPerformance->PlaySegmentEx(lpSegment, 0, 0, DMUS_SEGF_SECONDARY, 0, 0, 0, 0);
    }
    

    Jetzt wollte ich mal Fragen, wie man das in Gebrauch eines ,,modernen" Includes benutzen kann.



  • Was hat das mit C++ zu tun?



  • manni66 schrieb:

    Was hat das mit C++ zu tun?

    Das ist in der Sprache C++



  • lcp schrieb:

    manni66 schrieb:

    Was hat das mit C++ zu tun?

    Das ist in der Sprache C++

    Naja, eher C mit Klassen... 🙄



  • lcp schrieb:

    manni66 schrieb:

    Was hat das mit C++ zu tun?

    Das ist in der Sprache C++

    Du hast ein Problem mit einem veralteten Windows-API, nicht mit C++.



  • Nimm XAudio2

    In der MSDN heist es zu DirectMusic

    MSDN schrieb:

    When writing new applications, you should avoid using these deprecated components.

    floorball



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten