hi,
ich will einen kleinen "Media Player" schreiben und wollte erstmal musik zum abspielen bringen und dachte mir dafür nehm ich DirectX damit ich das dann auch noch auf videos erweitern kann
nun les ich zwar überall das es mit dx geht musik abzuspielen aber nirgents steht wie 😕
wie kann ich dx dazu benutzen? und welche der ganzen dlls in dem sdk muss ich einbinden dafür?
danke im vorraus
Hallo Coooder,
mit Googlesuche nach c# directx play music hast du nichts gefunden? Dort sind ein paar Tutorials mit dabei und dort wird gezeigt wie es geht.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
hmm naja ich hätt das gefunden
public static void PlayMP3(String Location)
{
music = new Microsoft.DirectX.AudioVideoPlayback.Audio(Location);
music.Play();
}
aber ich weiss leider noch nich welche dll´s von dem ganzen sdk einbinden soll dafür 😦
hmm habs rausgefunden, aber die dll die ich brauchte war nicht im sdk dabei o.O
musste mir die Microsoft.DirectX.AudioVideoPlayback.dll also per hand runterladen
damit das damit aber funktioniert musste ich auf die .net3.5 version runterstellen ... geht das vieleicht auch anders mit 4.0?
so also abspielen tut er jetzt die mp3 aber es kommt immer "LoaderLock wurde erkannt"> Fehlermeldung:
Die DLL "C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll" unternimmt einen Versuch, innerhalb der Sperre für den OS-Loader eine verwaltete Ausführung durchzuführen. Versuchen Sie nicht, verwalteten Code innerhalb einer DllMain- oder Bildinitialisierungsfunktion auszuführen, da dies ein Hängen der Anwendung zur Folge haben kann.
was soll das bedeuten?
Hi Coooder,
die LoaderLock-Hinweise kannst du einfach deaktivieren: Why do I get a 'LoaderLock' Error when debugging my Managed DirectX application (unter Punkt 3).
Ich würde dir übrigens dazu raten, gleich auf SlimDX umzusteigen, da der Managed DirectX SDK von Microsoft seit Jahren nicht mehr gewartet und erweitert wird.
Zu deinem speziellen Problem findest du hier auch einen Einstiegspunkt: playing sound with SlimDX and DirectSound (C#)
Christian
// Edit: Falscher Link
Weeks of programming can save you hours of planning
ah ok, hab mir slimdx geladen aber mir is aufgefallen das nur von wav dateien die rede is
kann ich keine mp3´s und andere soundformate abspielen?
Hi Coooder,
kann sein, daß es sich da um ein (lizenztechnisches) Problem handelt. Ich selbst hab mit SlimDX bisher nur 3D-Grafik programmiert. Aber vielleicht hilft dir in diesem Fall Mp3Sharp weiter?
Christian
Weeks of programming can save you hours of planning
hmm ich weiss nich ...
ich wollt dx ja benutzen weil ich damit auch videos abspielen kann
und man hat wie ich gesehn habe viele sound einstellungsmöglichkeiten, hat man die auch mit dem Mp3Sharp?
Hi Coooder,
ja, dann sollte man als erstes mal die Technologie finden, mit der man alle Vorgaben auch umsetzen kann. Also über SlimDX und mp3s ist mir nichts bekannt, aber du könntest dort im Forum bzw. bei GameDev.net mal direkt danach fragen.
Managed DirectX (und SlimDX in ähnlichem Maße auch) hat eine sehr sehr lange Einarbeitungszeit und ist wirklich schwierig zu verstehen. Du darfst dir DirectX nicht so vorstellen, daß man viele Möglichkeiten hat, Einstellungen zu machen (bei dir klingt das nach Equalizer), sondern du hast vor allem erstmal die Möglichkeit, dir solche Features zu programmieren. Wenn du "nur" Sound & Video abspielen möchtest, kannst du den integrierten Mediaplayer verwenden, oder andere fertige Libraries oder Mediaplayer-Komponenten.
Wenn du mehr willst, solltest du dir auch mal die Möglichkeiten von WPF anschauen, da muß man sich zwar auch erstmal einarbeiten, das ist allerdings nichts im Vergleich zu DirectX.
Bei CodeProject sind evtl. auch noch einige Ideen zu finden. Ansonsten mal die Forensuche verwenden, solche Fragen sind schon desöfteren gestellt worden.
Schöne Grüße,
Christian
Weeks of programming can save you hours of planning
ach hör mir auf ... ich mach den player sowieso grad in wpf, nich gewusst das es auch mit wpf geht
aber ja es funz! und auch recht einfach ... einfach die eigenschaft Source des MediaElements mit dem pfad füllen und fertig ... mp3 macht er und er spielt sogar .avi videos ab ... cool 😄
jetzt muss ich nur noch gucken ob man da auch einstellungen dran vornehmen kann, also höhen und tiefen einstellen und sowas halt .... so das ich nen Equalizer dazu bauen kann ...
weisst du (oder ein anderer) zu fällig ob das machbar is? oder übersteigt das die fähigkeiten von wpf?
Die Frage nach dem Equalizer bitter nicht hier behandeln. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.2.
falls dich das interessieren sollte: http://www.un4seen.com/ super audio libs haben die da u.a. auch streaming usw. möglich.. recht einfach und übersichtlich das ganze. allerdings glaub ich audio only