TMediaPlayer und Soundkarte auswählen
-
Hallo,
vermute ich richtig, dass ich über die TMediaPlayer-Komponente nicht die Möglichkeit habe, zwischen verschiedenen Soundkarten wählen zu können? Habe zumindest in der Hilfe nichts gefunden. Zwar gibt es hier im Forum unter *MediaPlayer* zahlreiche Beiträge, aber nichts passendes.
Zwar erhalte ich durch waveOutGetNumDevs() die Anzahl der Soundkarten und kann auch per waveOutGetDevCaps deren Eigenschaften auslesen, jedoch kenne ich bisher keinen Weg eine Soundkarte auszuwählen.
Gruß
Leo
-
Hallo
das hat nichts mit dem TMediaPlayer zu tun, sondern ist mit WinAPI-Mitteln zu tun. Also such ins WinAPI-Forum und in der Online-MSDN von Microsoft.
bis bald
akari
-
Hallo Akari,
dass es keinen direkten Zusammenhang zwischen TMediaPlayer und den oben genannten Funktionen - waveOutGetNumDevs() und waveOutGetDevCaps() - gibt, ist klar. Das ist beim Lesen der jeweiligen Dokumentationen deutlich geworden.
Daher meine Vermutung, dass ich das gewünschte Audioausgabegerät (Soundkarte) z.B. über die Win-Api-Funktionen als 'Standardausgabegerät' einrichten könnte, sodass anschließend die TMediaPlayer-Komponente über dieses Gerät abspielt. - Oder liege ich hier komplett falsch?
Gruß
Leo
-
Hallo
ja so ist es
bis bald
akari
-
Hallo Akari,
hättest Du eine Empfehlung, wie ich meine Anwendung, die sich in wesentlichen Teilen und zur Wiedergabe aller möglichen Formate wie .wav, .mp3, .mpeg auf die TMediaPlayer-Komponente stützt, umbauen müsste, um dem Benutzer eine Auswahlmöglichkeit hinsichtlich Soundkarte bieten zu können?
Gruß
Leo
-
Bastel lieber einen eigenen Player, die TMediaPlayer-Komponente ist nicht zu empfehlen, wenn du andere Geräte verwenden möchtest, da es mit dieser JKomponente nicht möglich ist, wie du ja weißt; mit der WinAPI das Standard-Gerät umzudefinieren ist in meinen Augen nicht der richtige Pfad, was machst du, wenn deine Anwendung abstürzt und das nichtmehr umgestellt werden kann? - Was meinst du, denkt sich der Benutzer dann, wenn auf einmal alles über dieses Gerät läuft, obwohl er selbst ein anderes als Standard definiert hat?
Frage an dieser Stelle, da ich mich damit nicht so gut auskenne, um ehrlich zu sein: Ist dafür nicht OpenAL oder sogar DirectX da?
- Sphy
-
Für TOTALE Sound-kontrolle ist Directx zu empfehlen.
wNw
-
Sphy schrieb:
(...) Mit der WinAPI das Standard-Gerät umzudefinieren ist in meinen Augen nicht der richtige Pfad, was machst du, wenn deine Anwendung abstürzt und das nichtmehr umgestellt werden kann?
Hallo,
habe mich für folgende, wie ich finde einfache und praktische Lösung entschieden.
Der Benutzer erhält zunächst einen Hinweis, dass bei Änderung des Standardausgabegeräts andere Anwendung ggf. nicht mehr korrekt funktionieren.
Anschließend leite ich den Benutzer direkt auf die Seite 'Eigenschaften von Sound und Multimedia'.Aufrufvariante Windows 2000:
system("start /min Rundll32 shell32.dll,Control_RunDLL mmsys.cpl,,1");Aufrufvariante Windows Xp:
system("start /min Rundll32 shell32.dll,Control_RunDLL mmsys.cpl,,2");Gruß
Leo
-
Es gibt keinen Löffel! *hust*
Ja, gut, so geht's natürlich auch. Wozu auch das Rad neu erfinden? Der Hinweis ist dann auch wichtig.
Es kommt natürlich immer darauf an, was es für eine Anwendung ist, aber ich würde z.B. nicht wollen, dass ein Computerspiel an meinen Audioeinstellungen vom System herumpfuscht oder mich auffordert, dies zu tun...

Aber solange es "nur" ein Steuerungsprogramm o.ä. ist, ist das schon OK... ist halt meine Meinung dazu.

-
Vergiss TMediaPlayer. Kann der überhaupt MP3s abspielen? Mir war so, dass nicht.
-
Hm... doch. Wenn dein Mediaplayer von Windows das kann, kann TMediaPlayer es auch, warum auch nicht, greift ja auf die Ressourcen deines MEdiaplayers zurück...

-
Sphy schrieb:
greift ja auf die Ressourcen deines MEdiaplayers zurück
Nee, das stimmt IMHO nicht.
-
Worauf denn sonst? - Ich gehe mal nicht davon aus, dass mit deiner Exe eigene Ressourcen mitgeliefert werden...?
-
Hallo
warum probiert ihr das denn nicht einfach mal aus?
Dann werdet ihr feststellen, das TMediaPLayer sehr wohl mp3 abspielen kann - wenn ein entsprechender Codec unter Windows installiert ist.bis bald
akari
-
Sphy schrieb:
Worauf denn sonst?
Die MCI-Schnittstelle
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_mci.asp
-
Dann werdet ihr feststellen, das TMediaPLayer sehr wohl mp3 abspielen kann - wenn ein entsprechender Codec unter Windows installiert ist.
Klar kann er das
http://www.marquardtnet.info/cecke/programme.4/mp3player/4_mp3player.html
Quellcode gibt es
-
Ja, hatte das auch vorhin ausprobiert. Ist ja auch kein Wunder, wenn der die MCI verwendet. Die kann das nämlich.
Aber das ist eben "nur" die MCI, die ansonsten nicht sooo mächtig ist. Der MediaPlayer ist da schon ein anderes Kaliber.