|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.07.2013, 01:42 | #1 |
Регистрация: 20.07.2013
Сообщений: 4
|
Работа со звуком
Требуется написать программу на С++, которая будет делать инверсию звукового(в формате wav) файла.
|
20.07.2013, 23:58 | #2 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,152
|
Код:
|
23.07.2013, 14:45 | #3 |
Регистрация: 20.07.2013
Сообщений: 4
|
Расскажите поподробней про принцип работы, каким образом загнать в программу этот самый wav файл? И что делать дальше?
|
23.07.2013, 15:07 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
первый - имя исходного WAV файла второй параметер - имя результирующего (сконвертированного) файла. |
|
23.07.2013, 15:19 | #5 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,152
|
работа через командную строку, где первым параметром - абсолютный путь до исходного вава, вторым - абсолютный путь до результирующего вава: "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. |
23.07.2013, 15:30 | #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). |
23.07.2013, 15:44 | #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 |