No máš tam pár chýb...
Poprvé, nechápem prečo voláš:
new Program().Run();
pravdepodobne stačí volať len Run();
Zadruhé, objekt MediaPlayer vytváraš v metóde Run, akurát akonáhle sa metóda Run dokončí, tak tento objekt zanikne => musíš inicializáciu objektu vyňať nad metódu Run, takže vo výsledku bude tvoj kód vyzerať asi takto:
using System;
using System.Windows.Media;
namespace MediaPlayerTest
{
class Program
{
// Zadefinovanie premenných
MediaPlayer _player;
static void Main(string[] args)
{
// Inicializácia mediaplayeru:
_player = new MediaPlayer();
_player.MediaEnded += MediaPlayer_MediaEnded;
Run();
Console.ReadLine();
}
public void Run()
{
_player.Open(new Uri(@"d:\Jukebox\mp3\ROTTROVA MARIE - Reka lasky (CZ 2003)\03 ROTTROVA MARIE - Reka lasky.mp3"));
_player.Play();
}
private void MediaPlayer_MediaEnded(object sender, EventArgs e)
{
var x = 1;
}
}
}
K tomu by sa mal zvážiť, že metóda _player.Play je pravdepodobne blokujúca a mala by sa vykonávať v inom vlákne aby si neblokoval UI thread.