|
Программирование >> Автоматически обновляемые приложения
Листинг 13.7. Воспроизведение MIDI черезнеуправляемый код [Dlllmport( wininm.dll г EntryPoint = mciSendStringA , CharSet = CharSet.Ansi)] public static extern int mciSendString(string strCommand, StringBuiider strReturnString, int cchReturn, IntPtr hwndCallback); private void button2 Click(object sender, EventArgs e) { string fileName = (a D:\MyBook\FunVB\15\PlaySound\town.MID ; Открываем устройство с файлом town.MID player является идентификатором device id. mciSendString( open + fileName + type sequencer alias player null, 0, IntPtr.Zero); mciSendString( play player , null, 0, IntPtr.Zero); private void button3 Click(object sender, EventArgs e) { Закрываем файл TOWN.MID и устройство mciSendString( close player , null, 0, IntPtr.Zero); Примечание Пример работы со звуками разных форматов находится в папке MusicPlayer на прилагаемом диске. Извлечение информации из файлов МРЗ Вам наверняка известно, что файлы МРЗ содержат в себе специальные теги, в которых находится различная информация об артисте, названии альбома, годе выпуска, жанре песни и т. д. Используя эти теги, пользователь может сортировать песни по своему вкусу, а также быстро находить нужную песню. Предлагаю вашему вниманию редактор МРЗ-файлов, который позволяет извлекать и записывать новую информацию в теги музыкальных файлов. Более подробную информацию о стандартах, применяемых в тегах МРЗ-файлов, поищите самостоятельно. В листинге 13.8 приводится класс, позволяющий извлекать и записывать теги в МРЗ-файл. Листинг* 13:8. Работу с тегами МРа-файдов using System; using System.Text; using System.10; namespace MP3TagEditor { struct МРЗ { public string filePath; public string fileName; public string fileComplete; public bool hasID3Tag; public string id3Title; public string id3Artist; public string id3Album; public string id3Year; public string id3Comment; public byte id3TrackNumber; public byte id3Genre; public MP3(string path, string name) { this.filePath = path; this.fileName = name; this.fileComplete = path + \\ + name; this.hasID3Tag = false; this.id3Title = null; this.id3Artist = null; this.id3Album = null; this.id3Year = null; this.id3Comment = null; this.id3TrackNumber = 0; this.id3Genre = 0; class МРЗТад { public enum genres : byte { Blues, ClassicRock, Country, Dance, Disco, Funk, Grunge, HipHop, Jazz, Metal, NewAge, Oldies, Other, Pop, RnB, Rap, Reggae, Rock, Techno, Industrial, Alternative, Ska, DeathMetal, Pranks, Soundtrack, EuroTechno, Ambient, TripHop, Vocal, JazzFunk, Fusion, Trance, Classical, Instrumental, Acid, House, Game,
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |