Я занимаюсь музыкальной типизацией, и, хотя я создал код, который будет воспроизводить песни, которые уже загружены в XNA Content Manager, я пытаюсь создать то, что может воспроизводить MP3 и WAV на основе XML-файлов. Это то, что я для «жесткого закодированных» песни:Воспроизведение звуковых файлов на основе xml в C#
Song music;
SoundEffect effect;
Dictionary<string, SoundEffect> effectlist = new Dictionary<string, SoundEffect>();
Dictionary<string, Song> songlist = new Dictionary<string, Song>();
public Audio()
{
}
public void playSong(string songName)
{
songlist.TryGetValue(songName, out music);
MediaPlayer.Play(music);
}
public void playEffect(string eftName)
{
effectlist.TryGetValue(eftName, out effect);
effect.Play();
}
public void addSong(string aKey, Song aSong)
{
songlist.Add(aKey, aSong);
}
public void addEffect(string iKey, SoundEffect anEffect)
{
effectlist.Add(iKey, anEffect);
}
Я знаю только основы XML, как отображать текст из файла XML в консольном приложении. Как я могу использовать XML для воспроизведения звуков?
Спасибо, что нашли время, чтобы ответить, я ценю это. Не могли бы вы подробнее рассказать о том, что делает этот пример? Я понятия не имею об использовании XDocument и XElement. – MajorKola
Конструктор анализирует XML-документ в памяти, инкапсулированной в объект типа XDocument. Когда выполняется вызов playong(), запрос LINQ ищет XML (через XDocument) для соответствующего имени песни. Если он найден, он передает файл имени, связанный с именем песни, в исходный код. Не зная, что вы храните, чтобы идентифицировать песню, это немного надуманно - но это просто, чтобы вы поняли, как это работает. Если вы хотите знать, как использовать Linq, образцы 101 linq для Google - если вы хотите научиться использовать XDocument, вам, вероятно, стоит посмотреть его на MSDN. – Jay
Еще раз большое спасибо. Это будет большой помощью! – MajorKola