![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 20.07.2013
Сообщений: 4
|
![]()
Требуется написать программу на С++, которая будет делать инверсию звукового(в формате wav) файла.
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 20.07.2013
Сообщений: 4
|
![]()
Расскажите поподробней про принцип работы, каким образом загнать в программу этот самый wav файл? И что делать дальше?
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
первый - имя исходного WAV файла второй параметер - имя результирующего (сконвертированного) файла. |
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]()
работа через командную строку, где первым параметром - абсолютный путь до исходного вава, вторым - абсолютный путь до результирующего вава: "convertor.exe c:\wav\1.wav c:\wav\reversed.wav". Если второй аргумент не указан, то к имени добавляется "_reversed" и результат пишется в каталог с екзешником.
Что важно: 1) нету никаких проверок на корректность формата файла, что это wav, а не какой-нить mp3. 2) предполагается, что вавка имеет стандартный заголовок длиной в 44 байта и что не используется никакого сжатия, т.е. данные лежат в "сыром" виде, чистый PCM (что редко бывает не так, но достаточно часто, чтобы иметь в виду). Сначала читается заголовок исходника, и пишется в приемник. Потом высчитывается, сколько байтов приходится на один семпл, т.е. минимальный кусочек данных, в котором надо сохранить исходный порядок. Начинается чтение блока "data" исходника с конца и последовательное дописывание прочитанных кусочков в файл-приемник. Выход без предупреждений. зы: желательно заменить getchar() на getch() Последний раз редактировалось Smogg; 23.07.2013 в 15:22. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 20.07.2013
Сообщений: 4
|
![]()
В командной строке пишу "convertor.exe c:\wav\prov.wav c:\wav\rev.wav" командная строка пропадает, конечного файла rev.wav не появляется, программа пишет
"ProgrZv.exe": Загружено: "C:\Users\Никита\Documents\Visu al Studio 2010\Projects\ProgrZv\Debug\ProgrZv .exe", Символы загружены. "ProgrZv.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll" , Невозможно найти или открыть файл PDB "ProgrZv.exe": Загружено: "C:\Windows\SysWOW64\kernel32.d ll", Невозможно найти или открыть файл PDB "ProgrZv.exe": Загружено: "C:\Windows\SysWOW64\KernelBase.dll ", Невозможно найти или открыть файл PDB "ProgrZv.exe": Загружено: "C:\Windows\SysWOW64\msvcp100d.dll" , Символы загружены. "ProgrZv.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d.dll" , Символы загружены. Программа "[5592] ProgrZv.exe: Машинный код" завершилась с кодом 0 (0x0). |
![]() |
![]() |
![]() |
#8 |
Регистрация: 20.07.2013
Сообщений: 4
|
![]()
Огромное спасибо! Разобрался, всё работает.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа со звуком | Cepreu^ | Мультимедиа в Delphi | 7 | 01.06.2013 20:55 |
Работа со звуком. | Mago | Общие вопросы C/C++ | 18 | 03.02.2013 01:46 |
Работа со звуком | qwertyk | C++ Builder | 3 | 01.02.2013 15:36 |
Работа со звуком | ддимочка | C++ Builder | 0 | 09.12.2011 21:31 |
Работа со звуком | Drulya | C# (си шарп) | 4 | 12.09.2011 11:58 |