Это скорее вопрос, а не проблема с моим кодом.В настоящее время я использую фантастическую WMPLib для воспроизведения интернет-радио в своем приложении, оно работает безупречно, но я хочу поднять его на другой уровень.
В настоящее время я не уверен, как определить текущую воспроизводимую песню RADIO,все вдохновение для этого проекта было от VLC Media Player, который был в состоянии красиво отобразить, когда была изменена текущая песня радио (проверено с этим точным URL-адресом m3u)
Я мог бы быть совершенно тупым (я никогда не работалс WMP раньше) или это может быть даже невозможно.
Я пытался посмотреть маленький бит в источнике VLC, но это довольно большой проект, и у меня нет абсолютно никакого опытас C, что затрудняет мне поиск того, что я ищу.
Я пробовал такие события, как CurrentItemChange, PlayStateChangeEvent, PlaylistChange и т. д., ни один из них не сработал.
Небольшой фрагментмоей текущей загрузки m3u (возможно, мне нужно изменить, чтобы она работала правильно)
private const string StreamUrl = "http://194.16.21.227/mix_se_mp3.m3u";
private void Main_Load(object sender, EventArgs e)
{
timer1.Start();
MediaPlayer.URL = StreamUrl;
MediaPlayer.uiMode = "none";
MediaPlayer.settings.volume = 100;
}
private void timer1_Tick(object sender, EventArgs e)
{
Console.WriteLine(MediaPlayer.currentMedia.name);
Console.WriteLine(MediaPlayer.currentPlaylist.name);
if (MediaPlayer.currentMedia.name.Equals("MM STO"))
{
MediaPlayer.settings.volume = 0;
} else if(MediaPlayer.settings.volume != 100)
{
MediaPlayer.settings.volume = 100;
}
}
Как видно из моего тикового события, я хочу «приостановить» звук во время рекламного пауза и возобновить его при воспроизведении реальных песен.