Entwickler-Ecke
Multimedia / Grafik - Datei oeffnen und mit WMP ausgeben?
Chiyoko - Mi 13.01.10 19:09
Titel: Datei oeffnen und mit WMP ausgeben?
Huhu,
wie der Name schon sagt, frage ich mich wie es moeglich ist,
eine datei ueber die combobox(oder was auch immer) einzulesen
und gleich nach der auswahl den Windows Mediaplayer zu oeffnen?!
Combobox mit Inhalt ist kein Problem.
Wie man eine externe Datei oeffnet und startet weis ich auch.(ueber die Processklasse)
Nur wie bewerkstellige ich das gleichzeitig?
D.h. Auswahl->Start von WMP und gleichzeitiges laden des Liedes.
Danke
Chiyoko - Mi 13.01.10 23:13
Problem geloest.
Einfach die Windows API runterladen(das SDK)...
Alles weitere wird da eingehend beschrieben.
http://www.informit.com/articles/article.aspx?p=101752
Dann einfach nur noch per String den Namen auslesen
(finde ich am einfachsten, ..ich nutz eh eine Combobox..)
Ordner festlegen, ...der rest steht hier:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void comboBox1cd1_SelectionChangeCommitted(object sender, EventArgs e) { if (comboBox1cd1.SelectedItem.ToString() == "Prelude") { axWindowsMediaPlayer1.URL = @"c:\Prelude.mp3"; } } |
Nachteil: Zur exe muss eine Lib dazugeliefert werden.
EDIT:
Sofern ich die exe von meinem Rechner starte, funktioniert alles
wunderbar, nur nicht auf anderen Rechnern...
axwindowsmediaplayer.setting.autoplay();
geht i-wie auch nicht,...
Wie bekomm ich das auf anderen Rechnern zum laufen?
danielf - Do 14.01.10 11:27
Hallo,
was heißt es funktioniert nicht auf anderen Rechnern? Was liefster du mit (Deine exe, WMP exe und die WMP Dll)?
Gruß Daniel
Chiyoko - Do 14.01.10 14:58
Naja, die Exe und die 2 dll dateien, die zum Mediaplayer gehoeren.
Das Mediaplayer SDK ist von Version 9 und meine windows media player version
ist auch 9.0.0.1.
Wmp exe??Eigentlich nahm ich an, es muss nur die gleiche Version auf den anderen
Rechnern vorhanden sein(OS unabhaengig, muesste mit Vista,Xp und windows 7
funktionieren).
Oh und was nicht funktioniert haett ich fast vergessen:
1) Laden des Liedes funktioniert.
2) Danach steht dort nur: Bereit...
3) Ich hab 2 Rechner, kann das also schnell testen
autostart funktioniert auch nicht, und wenn ich es ueber einen
Dialog versuche:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| private void button1_Click(object sender, EventArgs e) { AxWMPLib.AxWindowsMediaPlayer wmp1 = new AxWMPLib.AxWindowsMediaPlayer(); string fname = ""; OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Sound files(*.mp3)|*.mp3|Wave Files(*.wav)|*.wav|All Files|*.*"; dlg.FilterIndex = 1; if (dlg.ShowDialog() == DialogResult.OK) fname = dlg.FileName; wmp1.Ctlcontrols.stop(); wmp1.settings.autoStart = true; wmp1.URL = fname; } |
dannn bekomm ich nach dem laden einen Error.
danielf - Do 14.01.10 15:01
Und ganz banal: @"c:\Prelude.mp3"; existiert auf beiden Rechnern?
Chiyoko - Do 14.01.10 15:03
Nein, aber darueber hab ich auch schon nachgedacht...
nur hab ich mich gefragt...muss das unbedingt dort sein?
Weil das Lied befindet sich ja in der Exe.
EDIT:
Ich probiers trozdem erstmal aus:)danke..
Aber da kann nicht die Loesung sein.
Mhmpf...funktioniert,...aber gibt es nicht noch einen internen Speicherpfad zufaellig?
Ohne, das diese unbedingt in einem bestimmten Ordner liegen muessen?
Chiyoko - Fr 15.01.10 18:06
So, ok
@"\Prelude.mp3";
->relativer Pfad..
Nun wieder ein problem, ...ich habe meinen Media player auf version 11 gebracht,
mir das SDK gezogen...aber es geht nicht,...gibt es da andere Schritte?
Meine Versuche scheiterten allesamt.
jaenicke - Fr 15.01.10 22:35
Chiyoko hat folgendes geschrieben : |
@"\Prelude.mp3";
->relativer Pfad.. |
Ja, relativ. Aber
nicht zum Verzeichnis der Exe sondern zum aktuellen Arbeitsverzeichnis, ich hoffe das ist dir klar...
Chiyoko - So 14.03.10 14:10
Danke, auch das Problem habe ich geloest.
beispiel:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| DirectoryInfo dir = new DirectoryInfo(Path.Combine(Application.StartupPath, (@"Bilder\FF7\Music\cd1")));
FileInfo[] files = dir.GetFiles("*.mid");
foreach (FileInfo file in files) { listView1.Items.Add(file.Name); } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!