![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]()
Здравствуйте.
Перечитал на эту тему много всего и перепробовал много разных примеров кода. Нормально работает только этот: Код:
Если я правильно понял, сначала нужно создать и записать заголовок WAV. А потом в OnWaveIn делать Код:
Код:
Программа рисует график звука, а в файл какой-то мусор скидывается. То ли я заголовок неправильно создаю, то ли скидываю неправильно (в этом коде создания заголовка нет, а так-то я его создаю). Код:
Последний раз редактировалось BLACK_RAIN; 19.03.2017 в 15:43. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]() Код:
Последний раз редактировалось Aliens_wolfs; 20.03.2017 в 20:26. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#4 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]() Цитата:
Суть простая. Никто не знает как правильно. Стоит придерживаться официальной документации майкрософта: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx Но! Если посмотреть их исходники масдая утекшие в народ. - Идёт проверка на равенство BytesPerSec = Freq * BlockAlign; - А вот вычисление BlockAlign происходит, не так как описано на MSDN, а хитрым образом. Во-первых BlockAlign зависит от WAVE_FORMAT_EXTENSIBLE. Если включено, то вычисляем, по BlockAlign := Channels * (BitsPerSample div 8); А вот если выключено, то там должно быть выравнено на границе 16 бит. * BlockAlign := Channels * (BitsPerSample+15) div 16); Но опять таки разночтение породило вот, что: http://forum.sources.ru/index.php?showtopic=310684&st=0 На разных компьютерах с одной системой работал один вариант код и не работал другой. Выбор вариант ещё зависит от драйвера и вашей звуковой карты! *) Как вы видите товарищи выравнивали код на 32 биной границы, а не на 16 битной как указано в формате RIFF. Так что это тоже вопрос открытый.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Если вас устраивает звук с выбранными параметрами, то оставляйте эти параметры и это будет тоже правильно, в этих значениях нет конкретности и многое зависит от буфера вывода звука настроенного вами, а там могут быть и нестандартные значения которые нужно правильно указать в заголовке файла чтобы проигрыватель их понял.
Если все таки хотите придерживаться хоть какого нибудь стандарта звуковых значений, то откройте любой wav файл из папки Windows\Media\ прочитайте его заголовок и сравните с вашими значениями, это и будет тем стандартом которого можете придерживаться в данном случае майкрософт. Последний раз редактировалось Aliens_wolfs; 21.03.2017 в 22:13. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 29.10.2015
Сообщений: 273
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]() Цитата:
Последний раз редактировалось Aliens_wolfs; 22.03.2017 в 12:33. |
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#10 | ||
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]() Цитата:
Согласен с Pavia Цитата:
Последний раз редактировалось Aliens_wolfs; 22.03.2017 в 19:09. |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
bass Запись звука со всего компьютера | jhonyxakep | Мультимедиа в Delphi | 6 | 23.03.2017 11:47 |
BASS.dll - Пауза во время записи звука | DenProx | Общие вопросы Delphi | 7 | 29.11.2016 13:58 |
Bass.dll не воспроизводится wav | KrockodilL | Мультимедиа в Delphi | 2 | 16.03.2012 16:09 |
Bass.dll -непрерывное воспроизведение звука | werrey | Мультимедиа в Delphi | 9 | 13.06.2011 15:23 |
Запись звука в BASS | Gr@nd | Мультимедиа в Delphi | 1 | 18.09.2009 18:17 |