Посл.ответ |
Сообщение |
Ранг: 8.7 (гость) Активность: 0=0 Статус: Участник
|
Создано: 16 марта 2008 23:37 · Личное сообщение · #1
Доброго времени суток, ламатели и исследователи! Подскажите, как поставить брэкпоинт в СофтАйсе типа DirectSoundCaptureCreate? Как я понял он эту функцию не распознает... И если кому близка эта тема (DirectSound - захват звука (запись с микрофона)) буду рад загрузится любой инфой в этом направлении...
| Сообщение посчитали полезным: |
|
Ранг: 441.3 (мудрец), 297thx Активность: 0.41↘0.04 Статус: Участник
|
Создано: 17 марта 2008 00:49 · Личное сообщение · #2
Попробуй в winice.dat вписать строку EXP=C:\WINDOWS\system32\dsound.dll
| Сообщение посчитали полезным: |
Ранг: 163.7 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 17 марта 2008 07:04 · Личное сообщение · #3
Напямую вряд ли, тк функции DX не экспортируются. Можно получить поинтер на интерфейс и посмотреть адрес метода в VTable. Либо потрейсив, либо (лучше) в IDA + PDB.
| Сообщение посчитали полезным: |
Ранг: 8.7 (гость) Активность: 0=0 Статус: Участник
|
Создано: 17 марта 2008 09:27 · Личное сообщение · #4
ок! спасибо, буду пробовать... А с исходниками звукозаписи в инете вакуум... Зато программ на кождом углу и все деньги зарабатывают... .IF eax==IDC_RECORD_BEG
invoke mciExecute, ADDR szOpenNew ; Open device ready for recording
.IF !eax
return TRUE
.ENDIF
invoke mciExecute, ADDR szRecord ; "record mysound"
invoke SetButtons, hWnd, FALSE, TRUE, FALSE,FALSE,FALSE, IDC_RECORD_END
mov bRecording, TRUE
return TRUE
.ELSEIF eax==IDC_RECORD_END ; Stop, save & close
invoke mciExecute, ADDR szStop ; "stop mysound"
invoke GetSaveFileName, ADDR ofn ; Bring up Save file dialog
mov szSave+13,0 ; Possibly a previous recording, so zero truncate
invoke lstrcat, ADDR szSave, ofn.lpstrFile ; Concatenate name to buffer
invoke mciExecute, ADDR szSave ; "save mysound 'filename' "
invoke mciExecute, ADDR szClose ; "close mysound"
invoke SetButtons, hWnd, TRUE, FALSE, TRUE, FALSE, FALSE, IDC_PLAY_BEG
mov bRecording, FALSE
mov bRecorded, TRUE
return TRUE
.ELSEIF eax==IDC_PLAY_BEG ; Open waveform audio and play
.IF !bRecorded
invoke GetOpenFileName, ADDR ofn ; Select from previous recordings
.ENDIF
mov szOpen+5,0 ; Truncate back to "open "
invoke lstrcat, ADDR szOpen, ofn.lpstrFile ; Concatenate name to "open "
invoke lstrcat, ADDR szOpen, ADDR szAlias ; "open 'filename' alias mysound"
invoke mciExecute, ADDR szOpen ; Execute "open" command
.IF !eax
return TRUE
.ENDIF
invoke mciExecute, ADDR szPlay ; "play mysound"
invoke SetButtons, hWnd, FALSE, FALSE, FALSE, TRUE, TRUE, IDC_PLAY_END
mov bPlaying, TRUE
return TRUE
Может кто поможет, крутил этот код под отладчиком и так и так, непонятно куда буферизируется звук... точнее понятно, в память... я его там даже вижу под отладчиком... тишина - это байты 80 80 80 80 ... видеть мало как получить к ним доступ... функция mciExecute - вообще вещь оригинальнейшая... вопервых команды получает в виде строк символов (в первый раз такое вижу)... а во вторых не получает ни каких хендлов на буфер в памяти... сначало тупо нужно послать команду "open", потом "record", потом "save"... все файл в формате wav записан... это конечно здорово, но это связывает руки...
| Сообщение посчитали полезным: |
Ранг: 74.1 (постоянный), 34thx Активность: 0.03↘0 Статус: Участник
|
Создано: 17 марта 2008 10:46 · Личное сообщение · #5
hellobody
На васме лежит риппер музыки из прог на дсаунд. с исходниками.
wasm.ru/baixado.php?mode=tool&id=397
| Сообщение посчитали полезным: |
Ранг: 8.7 (гость) Активность: 0=0 Статус: Участник
|
Создано: 17 марта 2008 22:38 · Личное сообщение · #6
Спасибо, буду разбираться...
| Сообщение посчитали полезным: |
Ранг: 8.7 (гость) Активность: 0=0 Статус: Участник
|
Создано: 17 марта 2008 22:41 · Личное сообщение · #7
Тема - актуальна, разыскиваю исходники программ звукозаписи...
| Сообщение посчитали полезным: |
Ранг: 163.7 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 18 марта 2008 04:54 · Личное сообщение · #8
Где искал? Вот какой-то сэмпл из DX7 SDK, в новых тоже должно быть...
CaptureSound illustrates how to capture a wave file using DirectSound.
c2ad_17.03.2008_CRACKLAB.rU.tgz - capturesound.zip
| Сообщение посчитали полезным: |
Ранг: 191.8 (ветеран), 46thx Активность: 0.17↘0 Статус: Участник
|
Создано: 18 марта 2008 07:09 · Личное сообщение · #9
Чаще про DirectSound почему-то  пишут в книжках для геймеров по DX.
Можно почитать у Фроловых про мультимедиа
www.frolov-lib.ru/books/bsp/v15/index.html
ну и до кучи по видео
directshow.wonderu.com/samples
| Сообщение посчитали полезным: |
Ранг: 8.7 (гость) Активность: 0=0 Статус: Участник
|
Создано: 18 марта 2008 13:15 · Личное сообщение · #10
Искал в интернете  ... DX7 SDK у меня нет, надо скачать... Вообще темой звукозаписи занимаюсь уже больше 6 мес... Собрал себе еще один старенький комп для эксперементов... Старую звуковуху нашел... Думал что под Досом с ней можно работать без драйвера, просто обращаясь к портам 220h... Оказалось нельзя... Потом дрова под Дос накопал для нее все заработало... В 16 разрядном режиме процессора, писал с микрофона 8-ми битный звук, правда не более 64K в обьеме... Это меня сильно расстраивало... Начал копать как перевести мой старенький 233 Mhz в защищенный 32-битный режим... Разобраться с Дос расширителями так и не смог, пришлось ручками создать таблицы дескрипторов, делал по каким то туториалам с wasma... Получилось, писал звук тупо в 4 Гб адрессное пространство, коечто попадало в оперативную память, кое что в память видеокарты (экран, время от времени, во время recorda заполнялся символами, соответствующими байтам, которые генерировала звуковая карта) ... Но это все фигня... Дос - мертвая операционная система и программить под неё не перспективно... Под видной все стало... Писал драйвер нулевого кольца, что бы получить доступ к портам ввода-вывода... Познакомился с BSOD (Blue Screen of Death) ... Вобщем драйвер получился, тестил на бипере, работает...
На компе на котором стоит винда (мой второй компьютер) звуковая карта С-Media встроенная - какие у нее порты ввода вывода - одному Богу извесно... Инфы как программить на ассемблере на низком уровне современную звуковуху нет вообще... Я так понял это извесно только самим производителям звуковых карт...
Вот сейчас ищу современные высокоуровневые способы работы со звуком...
За ссылку на книгу Фроловых спасибо! Начал читать...
| Сообщение посчитали полезным: |
Ранг: 8.7 (гость) Активность: 0=0 Статус: Участник
|
Создано: 18 марта 2008 14:33 · Личное сообщение · #11
Кстати, прописывать пробовал EXP=\SystemRoot\System32\dsound.dll, вроде ставится бряк, но не срабатывает и при выводе листа бряков обозначан не как название функции, а как адрес... наверное способ не рабочий...
| Сообщение посчитали полезным: |