Программирование >>  Автоматически обновляемые приложения 

1 ... 124 125 126 [ 127 ] 128 129 130 ... 170


Листинг 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,



1 ... 124 125 126 [ 127 ] 128 129 130 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика