Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];

Вниз

Table of content CD( таблица содержания Компакт Диска)   Найти похожие ветки 

 
Sergn   (2002-03-25 17:37) [0]

Как прочитать Table of content CD. Например список музыкальных сэмплов из AUDIO-CD?


 
Sergn   (2002-04-01 11:13) [1]

Может есть какие либо API функции для работы под Win9x?

Я нашел лишь следующее:

hCdrom =CreateFile("e:", GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,nil);
DeviceIoControl(hCdrom,IOCTL_CDROM_READ_TOC,nil,0,pToc, sizeof(CDROM_TOC), @ReturnedByteCount, nil);

Но Delphi не находит описание структур API: IOCTL_CDROM_READ_TOC
и CDROM_TOC.(Visual C++ тоже. Не находит файл ntddcdrm.h)
Насколько мне известно эти стркутуры можно использовать лишь начиная с win2k и winXP.

Может как-то можно узнать адрес начала трека Lead-in , где и записана TOC? Moжет кто-нибудь подскажет с ассемблерной вставкой,
работающей под WIN9x.

Help please. Oчень нужна информация по чтению CDROM TOC.


 
Donal_Graeme   (2002-04-01 15:00) [2]

вообще-то каждый трек в эксплорере представляется как файл, причём в RIFF формате. имхо, чтобы содержимое прочитать можно обычными файловыми функциями воспользоваться


 
Sergn   (2002-04-01 15:38) [3]

>Donal_Graeme
При открытии AUDIO диска в эксплорере, видны только файлы .CDA,
(размер по 44 байта). Но я не могу понять какую они несут информацию.

Кстати нашел через MSDN и через "//winioctl.h" описание
структуры CDROM_TOC и то, как получить system I/O control code IOCTL_CDROM_READ_TOC.

Но для того, чтобы их использовать, нужно получить Handle CD диска.
Но под Win9x
CreateFile("e:", GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, 0,nil)
и
CreateFile("\\.\e:", GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, 0,nil)
возвращают INVALID_HANDLE_VALUE

Также не уверен , что под win9x сработает DeviceIoControl с указанными параметрами (см. выше).Пока что я имею сведения,
что они работают с NT ядром.

Може быть, можно получить информацию о CD TOC через юзание vwin32.vxd и ассемблерную вставку.


 
Donal_Graeme   (2002-04-01 15:52) [4]

эти CDA файлы несут информацию о положении трека на диске. точнее не скажу. попробуй поискать описание на www.wotsit.org


 
Sergn   (2002-04-01 16:49) [5]

Прочитал о содержании CDA файлов. Но там лишь содержится информация о номере трека, о расположении его начала и длине.

Такую информацию можно получить через MCI( Media Control Interface) API. Мне же нужно узнать названия
музыкальных сэмплов , как это делают проигрыватели компакт дисков. Эту информацию я и надеюсь получить из TOC.


 
Donal_Graeme   (2002-04-01 17:18) [6]

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


 
Sergn   (2002-04-01 17:42) [7]

Что это за база данных CDDB? (Как я понял Compact Disk Data Base). И где она располагается, если названия треков на диске не записаны?

Действительно пока я разбирался c CD-TOC, я не нашел в ней связи с описательной информацией о сэмплах, а только лишь системную информацию о треках и самом диске(например серийный номер диска).
Поэтому меня и пугает то, что даже получив информацию по всем структурам CD-TOC, я не получу нужную для меня текстовую информацию.


 
Donal_Graeme   (2002-04-01 17:49) [8]

база располагается в интернете. Для более детальной информации - http://www.cddb.com


 
Sergn   (2002-04-01 18:19) [9]

Т е, как я понял, если компьютер не подключен к интернету, а в CD
привод вставлен AUDIO CD , то проигрыватель не сможет показать названия музыкальных композиций.


 
Donal_Graeme   (2002-04-01 18:33) [10]

именно так.


 
Donal_Graeme   (2002-04-01 18:45) [11]

кстати, посмотри ещё www.freedb.org, там вроде как есть компонент для Дельфи 5, 6, который достаёт данные с этого сервера


 
vuk   (2002-04-01 18:53) [12]

Кстати о птичках, на CD бывают записаны и названия треков (т.н. CD Text). Правда где и в каком виде она там хранится я не в курсе.


 
Sergn   (2002-04-01 20:01) [13]

>Donal_Graeme
Спасибо за информацию. Буду вести поиски в новом направлении



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.011 c
1-88809
mcs
2002-06-16 16:08
2002.06.27
Рихтер


1-88882
eviruswork
2002-06-14 13:43
2002.06.27
Скриншот


1-88857
eviruswork
2002-06-14 13:45
2002.06.27
Невидимая форма


3-88762
BAA
2002-06-04 19:03
2002.06.27
InterBase и TTime


1-88890
Fiend
2002-06-14 12:29
2002.06.27
messages





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский