mague Posted March 18, 2012 Share Posted March 18, 2012 (edited) Hi, ist ChannelListOLEVariant[x,22] = 0 (Tuner.VideoPID = 0) die einzige Moeglichkeit einen Radiosender zu erkennen ? Oder gibts was besseres ? Edited March 18, 2012 by mague Quote Link to comment
Tüftler Posted March 18, 2012 Share Posted March 18, 2012 Zur Laufzeit geht auch OSD.IsPlayingVideo zusammen mit der Prüfung isMediaplayback. Deine Lösung ist doch aber nicht schlecht oder übersehe ich was? Quote Link to comment
mague Posted March 19, 2012 Author Share Posted March 19, 2012 (edited) Zur Laufzeit geht auch OSD.IsPlayingVideo zusammen mit der Prüfung isMediaplayback. Deine Lösung ist doch aber nicht schlecht oder übersehe ich was? Hi, du uebersiehst nichts. Aber mir gings drum das Resultat von ChannelManager.GetChannelList() zu verstehen. Dort gibts nur eine Referenz auf Root und Kategorie. Keine auf Radio oder TV. Aber es funktioniert ganz gut wenn man darauf vertraut, dass alle Radiosender eine Video ID von 0 haben. Ich will nur sicher gehen, dass das Zukunft hat Edited March 19, 2012 by mague Quote Link to comment
Griga Posted March 19, 2012 Share Posted March 19, 2012 Aber es funktioniert ganz gut wenn man darauf vertraut, dass alle Radiosender eine Video ID von 0 haben. Kann man nicht drauf vertrauen. Wenn man z.B. Astra 28° Ost scannt, stehen die PIDs diverser Sender, die zur Zeit inaktiv sind, allesamt auf 0. Nur die Service ID ist vorhanden. Der DVBViewer und TransEdit erkennen trotzdem anhand der SDT, ob es sich um TV- oder Radiosender handelt. Erst beim Einschalten eines solchen Senders (sofern dann aktiv) werden die PIDs durch den Sender-Auto-Update ergänzt. Das entscheidende (unsichtbare) Merkmal in der DVBViewer-Senderliste (channels.dat) ist das Flag cVideoService = 0x08 in Tuner.Flags (ein Byte). Ob und wie du mit deiner Methode darauf Zugriff hast, ist mir nicht bekannt. Quote Link to comment
mague Posted March 19, 2012 Author Share Posted March 19, 2012 (edited) Kann man nicht drauf vertrauen. Wenn man z.B. Astra 28° Ost scannt, stehen die PIDs diverser Sender, die zur Zeit inaktiv sind, allesamt auf 0. Nur die Service ID ist vorhanden. Der DVBViewer und TransEdit erkennen trotzdem anhand der SDT, ob es sich um TV- oder Radiosender handelt. Erst beim Einschalten eines solchen Senders (sofern dann aktiv) werden die PIDs durch den Sender-Auto-Update ergänzt. Das entscheidende (unsichtbare) Merkmal in der DVBViewer-Senderliste (channels.dat) ist das Flag cVideoService = 0x08 in Tuner.Flags (ein Byte). Ob und wie du mit deiner Methode darauf Zugriff hast, ist mir nicht bekannt. Hi, war ja klar Das muesste List[u,3] aus der aktuellen Version des array sein. Post #2 in: http://www.DVBViewer.tv/forum/topic/48615-com-getchannellist-in-welchem-feld-wird-orbital-pos-gespeichert/ Werd ich heute Abend testen. Gibts nur cVideoService = 0x08 zu beachten ? Oder gibts noch was um Datenkanaele und EPG Kanaele auszschliessen. Mich interessieren nur TV und Radiostationen. Edited March 19, 2012 by mague Quote Link to comment
Griga Posted March 19, 2012 Share Posted March 19, 2012 Es gibt auch noch cAudioService = 0x10. Gesetzt, wenn ein Sender Audio liefert. Für "normale" TV-Sender sind also cVideoService und cAudioService gesetzt. Quote Link to comment
mague Posted March 19, 2012 Author Share Posted March 19, 2012 Danke Griga, das funktioniert prima. Welches bit steht jetzt fuer encrypted ? Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.