Laden...

Audio- und Video-Wiedergabe für eigenen Mediaplayer

Erstellt von Coooder vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.147 Views
C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren
Audio- und Video-Wiedergabe für eigenen Mediaplayer

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

6.911 Beiträge seit 2009
vor 12 Jahren

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!"

C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren

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 😦

C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren

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?

5.657 Beiträge seit 2006
vor 12 Jahren

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

C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren

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?

5.657 Beiträge seit 2006
vor 12 Jahren

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

C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren

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?

5.657 Beiträge seit 2006
vor 12 Jahren

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

C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren

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?

Hinweis von gfoidl vor 12 Jahren

Die Frage nach dem Equalizer bitter nicht hier behandeln. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.2.

K
133 Beiträge seit 2009
vor 12 Jahren

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