Fragensteller
Mehrere mp3 gleichzeitig öffnen

Frage
-
Hallo allerseits!
Ich habe vor einiger Zeit einen mp3 Player geschrieben und habe 2 Fragen dazu.
1.) Wie kann ich mehrere mp3 Dateien welche ich im Explorer ausgewählt habe mit Enter öffnen.
Genauer gesagt wenn ich eine Datei auswähle und Enter drücke wird der Player gestartet.
Jedoch wenn ich mehrere ausgewählt habe und Enter drücke dann wird der Player um die Anzahl der Dateien geöffnet.
Also bsp. wenn 10 Dateien gewählt wurden dann wird der Player 10x gestarte. Was muß ich tun damit alle in einem Player gestartet wird?
2.) Das zweite Problem ist das ich mit MCI den Bass nicht ändern kann obwohl das "theoretisch laut msdn" gehen sollte.
Hier mal der von mir benutzer Code.
public int Bass { get { StringBuilder buffer = new StringBuilder(261); int result = mciSendString("status " + this.alias + " bass", buffer, buffer.Capacity, IntPtr.Zero); if (result != 0) { throw new MciException("Fehler beim Lesen von 'Bass': " + GetMciError(result)); } return int.Parse(buffer.ToString()); } set { int result = mciSendString("setaudio MediaFile bass to " + value, null, 0, IntPtr.Zero); if (result != 0) { throw new MciException("Fehler beim Aufruf von 'SetBass': " + GetMciError(result)); } } }
Danke im vorraus und
Lg String.Rise
Alle Antworten
-
Ahja, ich habe noch vergessen zu erwähnen das ich mit dem Player playlist erstellen und laden kann und auch das Abspielen mehrere Titel auf einer Liste mittels Drag&Drop funktioniert. So im grunde genommen passt es eh bis auf die 2 "Schönheitsfehler".
Lg
String.Rise -
2.) Das zweite Problem ist das ich mit MCI den Bass nicht ändern kann obwohl das "theoretisch laut msdn" gehen sollte.
Hallo String.Rise,
Versuch erstmals den String zu erstellen und nachher an mciSendString weitergeben.
public int VolumeBass { get { return bVolume; } set { if (Opened && (value >= 0 && value <= 1000)) { bVolume = value; Pcommand = String.Format("setaudio MediaFile bass to {0}", bVolume); if ((Err = mciSendString(Pcommand, null, 0, IntPtr.Zero)) != 0) OnError(new ErrorEventArgs(Err)); } } }
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Hallo Robert,
danke vorerst für deine Antwort jedoch hat das auch nichts gebracht.
Ich bekomme beim auslesen den ErrorCode 263 und beim setzen 261.
Habe mittlerweile einige Varianten ausprobiert und keines davon funktioniert.string Pcommand = String.Format("setaudio " + this.alias + " bass to {0}", bas); string Pcommand = String.Format("setaudio MediaFile bass to {0}", bas); string Pcommand = String.Format("setaudio alias " + this.alias + " bass to {0}", bas); string Pcommand = String.Format("setaudio alias MediaFile bass to {0}", bas); und das gleiche auch mit mediastream string Pcommand = String.Format("setaudio " + this.alias + " bass to {0}", bas); string Pcommand = String.Format("setaudio mediastream bass to {0}", bas); string Pcommand = String.Format("setaudio alias " + this.alias + " bass to {0}", bas); string Pcommand = String.Format("setaudio alias mediastream bass to {0}", bas);
Bin mit meinem Spanisch bald am Ende.
Auf CodeProject habe ich etwas gefunden aber dort funktiniert es auch nicht.
Auch bei diesem Sample wird ein ErrorCode ausgegeben.
- Bearbeitet String.Rise Samstag, 31. März 2012 05:58
-
Hallo String.Rise,
Versuch erstmals ob die Datei in Media Player fehlerfrei abspielt.
Der Fehler lautet in Englisch: Media Error: The Specified device is not open or not recognized by MCI (MCI Error Code: 263)...wie sieht es aus mit diesem “Opened” aus meinem Code?
Wie sieht es aus mit dem Sound-Driver? Alles in Ordnung, am letzten Stand?
Vielleicht auch noch interessant: FMOD
Ein anderer Weg führt durch DirectShow Interfaces.
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.- Bearbeitet Robert BreitenhoferModerator Dienstag, 3. April 2012 06:19 Formatierung
-
Hallo Robert,
danke vorerst für deine Antwort und deine Tipps.
Die Datei(en) wereden sowohl im MediaPlayer als auch auf meinem Player ohne Probleme abgespielt.
Ich bekomme zwar die genannten Fehlermeldungen aber der Sound wird weiter ausgegeben.
Wenn ich den Exception-Handler überspringe in dem ich es auskommentiere wird der Song ebenfalls weiter abgespielt.
Die Treiber sollten soweit in ordnung und am aktuellsten Stand sein.
Das Komische ist ja das ich left- und right Volume und MUTE oder open (CD-ROM) usw. mit dem fast gleichen Code mache.
[quote]
Vielleicht auch noch interessant: FMOD
[/quote]
Weiß ich nicht ob das freeware ist. Muss ich mal genau nachlesen. Und eigentlich wollte ich das ohne PlugIn oder APIs welche
man installieren muß, realisieren. Ich weiss das MCI auch eine API ist aber dabei solltes auch wenns geht bleiben.
[quote]
Ein anderer Weg führt durch DirectShow Interfaces.
[/quote]
Habe darüber vor einpaar Jahren etwas kurz gelesen, geringe kenntnisse.
Falls es dies bzgl. gute Seiten gibt währe ich für jeden Link sehr dankbar.
Werde mir spätesten den Link und DirectShow am Wochenende mal drannehmen.
Danke erneut und
Lg String.Rise