Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.01.2007, 15:08
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию Как распознать Cd-audio.

мне надо распознать CDaudio тоесть надо так
если это сдаудио тогда CDAUD := True; CDAUD : Boolean;
Тоесть прогрмма должна знать что это именно аудиосд и не двд с софтом и не сд с cофтом а именно аудио сд!
В библиотеке BASS есть
BASS_CD_GetID(Drive, BASS_CDID_CDDB);
Но выдыет такой код немыслимый аж жуть. Вот незнаю как это оформить
Например диск с софтом
0211de01 1 150 4576
Аудиосд 1
f00e4612 18 150 24826 43512 52100 57935 77758 94523 105648 120688 140851 161417 182402 199304 221284 234081 246414 255039 266999 3656
Аудиосд 2
c20c380d 13 150 28950 43670 59175 76405 95135 112970 129900 144567 165642 179822 196825 216015 3130
Двд с софтом
02778901 1 150 30603

И так далее, отличие есть конечно
все аудиодиски имеют длинный код, но это так зрительно, на самом деле в этом всем и быстрее всего в первых цифрах зашифрована та инфа что мне нужна но как ее добыть незнаю даже...
Ответить с цитированием
  #2  
Старый 25.01.2007, 15:53
Tigrillo Tigrillo вне форума
Прохожий
 
Регистрация: 18.01.2007
Сообщения: 38
Репутация: 10
По умолчанию

посмотри справку по компоненту BASS, и к сведению - TMediaplayer - рульная штука, если уметь пользоваться, а не тупо тыркать.
Ответить с цитированием
  #3  
Старый 26.01.2007, 13:51
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

Ничего там не нарыл.
Ответить с цитированием
  #4  
Старый 26.01.2007, 17:52
ilang ilang вне форума
Новичок
 
Регистрация: 11.12.2006
Сообщения: 68
Репутация: 10
По умолчанию

Вот так сходу в голову пришел один вариант:

Кидаешь TMediaPlayer, делаешь его невидимым. Устанавливаешь свойство DeviceType := dtCDAudio.
Ну а для проверки пишешь такой код:

Код:
procedure CheckCD;
begin

  With MediaPlayer1 do
  begin
    Open;  //открываем устройство
    Play;  //пытаемся воспроизвести

    if (Mode = mpPlaying) then       //проверяем состояние
      ShowMessage ('Музыкальный компакт диск')
    else
    if (Mode = mpStopped) then
      ShowMessage ('Диск с данными')
    else
      ShowMessage('Отсутствует компакт-диск');
    Close
  end

end;

Смысл такой - если воспроизводится, то значит Audio CD. Топорно конечно, но по идее должно работать
Ответить с цитированием
  #5  
Старый 27.01.2007, 12:25
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

попробовал так, все окей! Но так конечно неправильно но всетаки хоть работает.
Ответить с цитированием
  #6  
Старый 27.01.2007, 19:13
ilang ilang вне форума
Новичок
 
Регистрация: 11.12.2006
Сообщения: 68
Репутация: 10
По умолчанию

Забыл Stop поставить:

Код:
...

    if (Mode = mpPlaying) then       //проверяем состояние
    begin
      Stop;
      ShowMessage ('Музыкальный компакт диск')
    end
...
Хотя, я думаю ты догадался
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter