Witam.
Napisałem w C# program, który pozwala na słuchanie radia internetowego. I niby mi wszystko ładnie działa, ale gdy tracę połączenie z internetem lub serwer radiowy jest wyłączony, to uruchomienie mojego programu kończy się błędem vshost32.clr2
Korzystam z biblioteki wmplib i wszystko robię tak.
- tworzę obiekt klasy WindowsMediaPlayer
wmp = new WindowsMediaPlayer();
- następnie podaję adres URL radia
wmp.URL ="http://s2.eradia.net:7902/";
Problem polega na tym, że przekazanie adresu do URL powoduje natychmiastowe odtwarzanie.
Chciałbym zrobić tak, że najpierw podaję adres serwera, następnie sprawdzam, czy jest aktualnie nadawany strumień i jeżeli jest, to wywołuję metodę snd.Play();
Dodam, że umieszczenie całego kodu ładującego URL w bloku try/cath nie rozwiązuje problemu, ponieważ nie jest to traktowane jako wyjątek z poziomu samej aplikacji, a raczej jest to błąd zwracany przez bibliotekę wmplib.
Oto jak wygląda kawałek mojego kodu
WindowsMediaPlayer wmp;
System.Diagnostics.Process p;
DateTime dtm;
string godzina, minuta;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
wmp = new WindowsMediaPlayer();
try
{
wmp.URL ="http://s2.eradia.net:7902/"; @
wmp.controls.play();
}
catch (Exception ex) { }