![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Ищу исходники функций записи и чтений Wave несжатых файлов (у меня данные в raw формате).
Странно, но по инету я не смог найти казалось бы распространённых вещей. Может есть у кого? Это сообщение отредактировал(а) Proger10 - 16.11.2009, 01:54 |
|||
|
||||
| Static |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 6.11.2008 Репутация: нет Всего: 2 |
Это не поможет? Я так понимаю, что тебе надо просто соответствующий header для своих raw-данных сделать.
--------------------
Я не настолько безнадежен, как кажется... |
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Ну да, дело в принципе только в хедере, чтобы постоянно не задавать количество каналов, битрейт при проигрывании файлов. Да и чтобы проигрывателями играли мои "raw" данные. Для удобства
Попробую поработать с тем, что по ссылке. Спасибо. Это сообщение отредактировал(а) Proger10 - 17.11.2009, 23:24 |
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Странно, но у меня опять возникла такая потребность и проблема) На тот раз, в качестве решения, я использовал библиотеку libsndfile. На этот раз потребовалось скомпилировать проект под Mac OS X и приплыли. Из-за libsndfile. Насколько я понял он предсобран под i386. Несмотря на то, что я его собирал под 64биткой, видимо что-то осталось для 32бит и на отрез отказывается работать.
Вот думаю, может есть какой небольшой исходник чтения и записи wav файла? Обыскал уже весь интернет, толком ничего так и не могу найти.. |
|||
|
||||
| Sanaff |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 15.9.2009 Где: г. Северодвинск Репутация: -1 Всего: 1 |
Описание формата файла wav у меня есть, надо - скину. там несложно разобраться и написать самому прогу чтения и записи wav файла [email protected] --------------------
Программист - это локальный бог ©ICQ 373-628-456 |
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Ну, в принципе, описание формата найти не очень сложно. Вот здесь красиво расписано
https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ Попробую поработать в этом направлении пока.. |
|||
|
||||
| Sanaff |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 15.9.2009 Где: г. Северодвинск Репутация: -1 Всего: 1 |
На русском есть:
Ниже приведено описание формата WAVe файлов в его простейшем варианте. Файл состоит из "кусочков" (англ. "chunks"), каждый "кусочек" предваряется 4-х байтным идентификатором "кусочка" и 4-х байтным полем, содержащим длину "кусочка" в байтах. Смещение Размер Содержимое 0 4 'RIFF' 4 4 размер RIFF-данных // должно быть на 4 меньше размера файла 8 4 'WAVE' // какие именно данные, WAVE означает звук 12 4 'fmt ' // начало "кусочка" описания формата 16 4 размер области описания формата в байтах 20 2 категория формата // для Microsoft PCM - 0x0001 22 2 число каналов // 1 - моно, 2 - стерео 24 4 частота дискретизации (sampling rate) 28 4 средняя скорость потока (байт/сек) 32 2 размер блока данных Следующее поле только для категории Microsoft PCM ... 34 2 число бит на отсчет // например, 8 или 16 36 4 'data' // начало "кусочка" непосредственно аудио-данных 40 4 размер аудио-данных в байтах 44 ..... аудио-данные // для Microsoft PCM отсчеты рассматриваются как беззнаковые целые числа --------------------
Программист - это локальный бог ©ICQ 373-628-456 |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 13 Всего: 23 |
Proger10, делал когда-то давно для direct sound. Во вложении исходный код. Правда, не очень написано, и, причем, для C++ Builder'а. Но суть, думаю, будет понятна.
Чтобы работало под все компиляторы нужно вместо String использовать std::string и убрать лишние хэдеры. Это сообщение отредактировал(а) ИванМ - 15.6.2010, 19:12 Присоединённый файл ( Кол-во скачиваний: 14 )
sound.zip 2,50 Kb |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |