Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

           return 0;

    }

 

/* Считывание координат производим в бесконечном цикле */

    for(;;) {

 

/* Задаём формат адреса LBA и считываем координаты сектора */

           sc.cdsc_format = CDROM_LBA;

           ioctl(fd, CDROMSUBCHNL, &sc);

           current_track = sc.cdsc_trk;

 

/* Отображаем данные о текущем треке и координате в формате LBA */

           printf("Track: %d ", current_track);

           printf("LBA: %d ", sc.cdsc_absaddr.lba);

 

/* То же самое - для формата MSF */

           sc.cdsc_format = CDROM_MSF;

           ioctl(fd, CDROMSUBCHNL, &sc);

           printf("MSF: %d %d %d ", sc.cdsc_absaddr.msf.minute, sc.cdsc_absaddr.msf.second, sc.cdsc_absaddr.msf.frame);

 

/* Ждем две секунды и повторяем. Выход по Ctrl-C */

           sleep(2);

    }

    return 0;

}

Полный текст программы находится в файле IOCTL2/read_sch.c.

Теперь делаем вот что – в одной консоли запускаем проигрыватель аудиокомпакт-дисков (workbone, например), а в другой – программу read_sch. Через каждые 10-15 секунд воспроизведения переходим к следующему треку на компакте и смотрим на результаты работы read_sch. Получается примерно следующая картина:

Track: 1            LBA: 0            MSF: 0 2  0

Track: 1            LBA: 150      MSF: 0 4  0

Track: 1            LBA: 301      MSF: 0 6  1

Track: 1            LBA: 451      MSF: 0 8  1

Track: 1            LBA: 602      MSF: 0 10 2

Track: 1            LBA: 753      MSF: 0 12 3

Track: 2            LBA: 23962      MSF: 5 21 37

Track: 2            LBA: 24112      MSF: 5 23 37

Track: 2            LBA: 24263      MSF: 5 25 38

Track: 2            LBA: 24414      MSF: 5 27 39

Track: 2            LBA: 24565      MSF: 5 29 40

Track: 3            LBA: 40191      MSF: 8 57 66

Track: 3            LBA: 40342      MSF: 8 59 67

Track: 3            LBA: 40492      MSF: 9 1  67

Track: 3            LBA: 40643      MSF: 9 3  68

Track: 3            LBA: 40794      MSF: 9 5  69

и т. д. Результаты работы программы красноречиво свидетельствуют о постоянном изменении текущей координаты.

И наконец, последний пример, который мы рассмотрим в данной статье, – это еще одна функция, считывающая треки с Audio-CD:

int read_cdda_track()

{

    int fd, out, n;

    __u32 i, start_lba, end_lba;

    __u16 buff[CD_FRAMESIZE_RAW/2];

 

    struct cdrom_tochdr hdr;


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160]
[161]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100