Hi Leutz.
Ich hoffe dass ich hier richtig bin.
Versuche grade eigenen MediaPlayer zu programmieren.
Der Player soll Audio/Video abspielen(das habe ich schon hingekriegt) und er soll über eigene Suchleiste verfügen die Youtube durchsucht und die Suchergebnisse in einer Listbox anzeigt(habe ich auch schon hingekriegt). Als Player habe ich Windows Media Player genommen ist das richtig oder muss ich da VLC oder Flash Player nehmen?
Das Problemm ist wie mache ich das die Ergebnisse aus der Listbox im Player dann abgespiellt werden(per Anklicken)Hier ist meine YouTube abfrage:
private void toolStripButton1_Click(object sender, EventArgs e)
{
FeedQuery Abfrage = new FeedQuery();
Abfrage.Uri = new Uri("http://gdata.youtube.com/feeds/videos?q=" + toolStripTextBox1.Text);
Abfrage.StartIndex = 0;
Abfrage.NumberToRetrieve = 50;
Service Service = new Service();
AtomFeed Feed = Service.Query(Abfrage);
foreach (AtomEntry Ergebnis in Feed.Entries)
{
listBox1.Items.Add(Ergebnis.Title.Text);
}
}
habe schon mit
axWindowsMediaPlayer1.URL = listBox1.SelectedItem
und mit
axWindowsMediaPlayer1.URL = listBox1.SelectedValue
versucht aber das klappt nicht.
Ich glaube ich muss irgendwie den Pfad vom SelectedItem auslesen und diesen Pfad muss ich mit
axWindowsMediaPlayer1.URL = url.Replace("watch?v=", "/v/");
bearbeiten nur ich weiß nicht wie ich das anstelle.
Moin moin,
ich weiss nicht ob das so klapp.
Der WindowsMediaPlayer kann meines wissen nicht mit den Format von YouTube was anfangen.
Was man Probieren kann ist Folgendes. Ersetze das WindowsMediaPlayer Element durch ein Webbrowser Element und Navigiere, im Webbrowser Element, zu dem selektierten Eintrag.
Mfg.
Mr. Bob
Hallo Corefighter,
in die ListBox packst du nur den Titel, entsprechend kann du die Url auch nicht aus der ListBox holen. Das versteht sich doch von selbst. Wie man eine ListBox benutzt, setzen wir als bekannt voraus, Siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1. Du kannst komplette Objekte in die ListBox packen und dann über ToString der Objekte oder über ListBox.DisplayMember bestimmen, was angezeigt werden soll. Dann kommst du über SelectedItem an das komplette Objekt und kannst die Url auslesen (casten nicht vergessen). Bitte keine weiteren Fragen zum Thema ListBox.
Obs dann allerdings klappt oder an dem Einwand von mrbob scheitert, steht auf einem anderen Blatt.
herbivore
Vielen Dank für eure Antworten und sorry dass ich mit der ListBox euch genervt habe!
Ersetze das WindowsMediaPlayer Element durch ein Webbrowser Element und Navigiere, im Webbrowser Element, zu dem selektierten Eintrag.
Das hatte ich schon hingekriegt, aber ohne Listbox. 😃) Mit MediaPlayer geht das auch wenn ich dem ein direkten Link gebe.
Du kannst komplette Objekte in die ListBox packen und dann über ToString der Objekte oder über ListBox.DisplayMember bestimmen, was angezeigt werden soll. Dann kommst du über SelectedItem an das komplette Objekt und kannst die Url auslesen (casten nicht vergessen).
Vielen Dank für den Tipp werde dass direkt umsetzen! Habe manchmal ne Kopfblockade wenn ich was auf schnelle Proggen will. 😃)
Hi,
wollte mein Ergebniss hier Posten.
Erst mal Danke nochmal @ herbivore habe die Ergebnisse als Objekt in Listbox eingebunden und es hat funktioniert doch leider wird der YouTube Player im Media Player angezeigt und das sieht einbisschen komisch aus.
Jetzt bin ich ich dem Rat von MrBob gefolgt und habe WebBrowser Controll genommen und habe YouTube Ergebnisse als Embedded eingebunden und es hat dann funktioniert :
private void toolStripButton1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
string searchTerm = toolStripTextBox1.Text;
string url = "http://gdata.youtube.com/feeds/videos?q=" + searchTerm;
FeedQuery query = new FeedQuery();
Service service = new Service();
query.Uri = new Uri(url);
query.StartIndex = 0;
query.NumberToRetrieve = 50;
AtomFeed resultFeed = service.Query(query);
foreach (AtomEntry entry in resultFeed.Entries)
{
listBox1.Items.Add(entry.AlternateUri.Content.Replace("/watch?v=", "/embed/"));
}
}
private void listBox1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate (newUri (listBox1.SelectedItem.ToString ().Replace ("&feature=youtube_gdata", "")));
}
Danke Euch noch mal!!!!!!
CLOSED!!!!