Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.6.77] |
|
Сообщ.
#1
,
|
|
|
Как известно, szPname в WAVEOUTCAPS содержит только 31 букву имени аудиоустройства. Я же хочу получить полное имя. В инете нахожу инфу только лишь об использовании расширенного формата WAVEOUTCAPS2 с последующим получением имени из реестра. Если я правильно понимаю, то NameGiud из WAVEOUTCAPS2 должно содержать GUID с именем ключа реестра в разделе HKLM\System\CurrentControlSet\Control\MediaCategories. Однако на практике всё иначе: NameGiud содержит нули, а значения ProductGuid, как и ManufacturerGuid совпадают на всех девайсах.
type TWAVEOUTCAPS2 = packed record C: TWAVEOUTCAPS; ManufacturerGuid: TGUID; ProductGuid: TGUID; NameGuid: TGUID end; var i: Integer; DevOut: TWAVEOUTCAPS2; begin for i := -1 to waveOutGetNumDevs-1 do begin FillChar(DevOut, SizeOf(DevOut), 1); if waveOutGetDevCaps(i, @DevOut, SizeOf(DevOut)) = MMSYSERR_NOERROR then ComboBox1.Items.Add(DevOut.C.szPname + ' / ' + GUIDToString(DevOut.NameGuid)) end; ComboBox1.ItemIndex := 0 end; Может, я что-то не так делаю, хотя вряд ли. Какие есть ещё способы? Рабочие... |
Сообщ.
#2
,
|
|
|
Подниму тему.
Цитата WAVEOUTCAPS содержит только 31 букву имени аудиоустройства. Я же хочу получить полное имя. Как выглядит полное имя? |
Сообщ.
#3
,
|
|
|
Я даже ещё раз её подниму
Судя по всему, "Микрофон (Realtek High Definition Audio)", а я вижу только "Микрофон (Realtek High Definiti" и соответственно "Динамики (Realtek High Definiti". И заодно: как можно выцепить названия из настроек "Звука", см. скрин. Прикреплённый файл2017_09_05_19_20_15.png (33,61 Кбайт, скачиваний: 454) Добавлено Вообще, неплохо бы эту тему перенести в раздел "Программирование звука" Добавлено Вот это тоже интересует: https://forum.sources.ru/index.php?showtopic=411222 |
Сообщ.
#4
,
|
|
|
Вот ещё Adobe Audition, видит полные имена!
Прикреплённый файл2017_09_05_19_41_48.png (59,86 Кбайт, скачиваний: 486) |
Сообщ.
#5
,
|
|
|
Jin X
На мастерахдельфи тему поднимали. Сошлись на том что полные названия вытаскивать через DX. А если делаете проигрыватель на WINMM то тогда вытаскиваете как есть и нечётким поиском сравниваете с полными названиями. И да порядок может отличаться. |
Сообщ.
#6
,
|
|
|
Pavia, я тоже уже успел до этого додуматься: DirectSoundEnumerate/DirectSoundCaptureEnumerate
Вопрос только вот в чём: одинаков ли список устройств (имён, их кол-во... и порядок, кстати, тоже) в MME и DirectSound? Добавлено По моим экспериментам (домашним) как будто бы да (все 3 вопроса), но есть ли гарантия, что и у других так же? |