Показать сообщение отдельно
  #127  
Старый 22.08.2012, 09:24
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Dmitry_DM
Последнее, что я хочу на счет чтение wav. Та версия программы, что вы мне кинули, она читает и записывает wav одной и той же кнопкой. Но я бы хотел, что бы читалось buttonClickk1, а записывалось buttonClick4. Козалось бы куда проще это сделать, но нет! Вот так я сделал, вроде должно было работать, но файл создается 44 байт.
Переменная WavInfo объявленная в Button1Click и переменная WavInfo объявленная в Button4Click это совершенно разные переменные. Т.е. вы сохраняете информацию о wav-файле в одной переменной, а пытаетесь её прочитать из другой. Это всё равно чтобы записать информацию в одну тетрадь и потом удивляться почему она не читается из другой тетради.
Цитата:
Сообщение от Dmitry_DM
При этом я запретил выполнение этой строчки:
Код:
if WavInfo.WaveFormat.wFormatTag = WAVE_FORMAT_PCM then

Как поправить код для выполнения вышеописанного?
Хотелось бы еще узнать зачем та строчка, ведь с ней, в данном коде ниже, не нажимается кнопка buttonClick4 вообще.
Так как процедура WriteWav умеет создавать wav-файлы только в формате PCM, то перед тем как её вызвать и делается эта проверка. И эта проверка не проходит так как переменная WavInfo пустая (точнее в ней находится мусор), так как информация об wav-файле была прочитана в совершенно другую переменную с таким же именем.
Ответить с цитированием