Одним понятием, которое может оказаться полезным в вашем приложении, является концепция источников песен. Источник песни по существу будет перечисляемым элементом, который обеспечивает доступ к песням. Это может быть в первую очередь интерфейс.
Таким образом, у вас есть абстрактная концепция фрагмента кода, содержащего списки песен. Фактический проигрыватель получит доступ к любой реализации ISongSource , чтобы запустить следующую песню и воспроизвести ее. Игра немного, боюсь, я не могу вам помочь. Если ничего не помогает, вы можете создать файлы m3u (плейлисты mp3) из источников вашей песни и начать, например, Winamp через Process.Start, передавая вновь созданный плейлист. На самом деле, это звучит как аккуратная версия 1.
Если вы хотите закодировать все, вам может понадобиться фрагмент кода для чтения тегов ID3 из mp3-файла (если вы воспроизводите mp3-файлы). Вы должны увидеть это как независимую функциональность, и есть вероятность, что уже есть что-то доступное. Пометка ID3 не очень сложна, если я хорошо помню, в заголовке mp3-файла определены смещения байтов.
Исходя из этого, вы должны иметь возможность реализовывать источники песен, которые учитывают теги ID3, чтобы решить, какая песня должна быть частью источника.
Наконец, есть пользовательский интерфейс. Это целый мир сам по себе, особенно если у вас есть скины. Но с приличной книгой WPF и некоторыми доказательствами концепций вы должны быть на пути к достижению цели.
Удачного кодирования!