Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
HomeLess_PunkDrummer JLI Master Trainee
Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 10.01.2005, 09:15 Titel: wma's abspielen |
|
|
Sagt mal kann es sein, dass dxaudio nich mit .wma zurecht kommt? Die lassen sich bei mir net abspielen. _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 10.01.2005, 12:11 Titel: |
|
|
jo, sind glaub ich komprimeirt oder so, DXAudio kann nur Wave und Midi (AFAIK) für aööes andere brauchste DirectShow, z. B. für mp3's, damit solltest du dann auch .wma abspielen können. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
HomeLess_PunkDrummer JLI Master Trainee
Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 10.01.2005, 20:34 Titel: |
|
|
wie mach ich das? _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 11.01.2005, 13:03 Titel: |
|
|
äh, ist glaub ich ziemlich kompliziert, hab das Buch von David Scherfgen, da werden mp3's abgespielt, ist auf jeden Fall nciht mit ein zwei aufrufen getan, sondern ein klein bisschen komplizierter. Haste schon mal nach DirectShow Tutorialen gesucht? _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 11.01.2005, 13:11 Titel: |
|
|
Warum nimmst nicht einfach FMod?? Ist doch für Anfänger ideal... |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 11.01.2005, 14:34 Titel: |
|
|
nur das man bei fmod mit den Lizensen aufpassen muss...
und immer ne dll im Projekt drinne hat und weitergeben muss.
Ansonsten ist es aber wircklich sehr einfach. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 11.01.2005, 15:07 Titel: |
|
|
DShow geht folgendermaßen:
Zunächst musst du in den Projekteigenschaften unter Linker zu strmiids.lib verlinken.
Dann machst du dir zwei neue Dateien:
In den Header kommt das:
CPP: | ////////////////////////////////////////
// DirectShow Interface
////////////////////////////////////////
#ifndef DSHOW_FUNCS__INCLUDED
#define DSHOW_FUNCS__INCLUDED
bool InitializeDShow();
bool DJ_Just_Play_That_Song();
void TerminateDShow();
#endif
|
Dieses #ifndef DSHOW_FUNCS__INCLUDED hat die gleiche Funktion wie #pragma once
Folgendes kommt in die cpp Datei.
CPP: | ////////////////////////////////////////
// DirectShow Interface
////////////////////////////////////////
#include "StdInc.h"
bool InitializeDShow()
{
// COM für dieses Modul initialisieren
if(FAILED(CoInitialize(NULL)))
return false;
// IGraphBuilder-Interface instanzieren
if(FAILED(CoCreateInstance(
CLSID_FilterGraph,
NULL,
CLSCTX_INPROC,
IID_IGraphBuilder,
reinterpret_cast<LPVOID *>(&g_pDSGraphBuilder))))
{
return false;
}
// IMediaControl-Interface instanzieren
if(FAILED(g_pDSGraphBuilder->QueryInterface(
IID_IMediaControl,
reinterpret_cast<LPVOID *>(&g_pDSMediaControl))))
{
return false;
}
// Erfolg
return true;
}
bool DJ_Just_Play_That_Song()
{
// Neue Datei rendern
if(FAILED(g_pDSGraphBuilder->RenderFile(
L".\\irgendeinpfad\\musik.wma",
NULL)))
{
// Datei konnte nicht geladen werden
return false;
};
// Wiedergabe starten
g_pDSMediaControl->Run();
// Erfolg
return true;
}
void TerminateDShow()
{
if(g_pDSMediaControl)
{
g_pDSMediaControl->Stop();
g_pDSMediaControl->Release();
}
if(g_pDSGraphBuilder)
g_pDSGraphBuilder->Release();
// COM deinitialisieren
CoUninitialize();
}
|
in StdInc.h
#include <dshow.h>
// zusätzliche Typendefinitionen dür DirectShow (wenn du willst)
typedef IGraphBuilder * LPGRAPHBUILDER;
typedef IMediaControl * LPMEDIACONTROL;
typedef IBaseFilter * LPBASEFILTER;
typedef IEnumFilters * LPENUMFILTERS;
und jetzt noch 2 globale Deklarationen edit: muss natürlich nicht global sein... (es reicht auch sie nur in DShow.cpp zu deklarieren)
// DirectShow
LPGRAPHBUILDER g_pDSGraphBuilder;
LPMEDIACONTROL g_pDSMediaControl;
Hoffe du hast alles kapiert.
Ansonsten einfach rückfragen.
Dein KI
Zuletzt bearbeitet von KI am 11.01.2005, 18:08, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
|
HomeLess_PunkDrummer JLI Master Trainee
Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 11.01.2005, 16:30 Titel: |
|
|
Kein Problem. danke. Ey GreveN, hab ich da grad ÄNFÄNGER gehört? _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
|
|