Вниз
Скачать: CL | DM;

Проигрывание и навигация по wav файлу из памяти   Найти похожие ветки 

← →
Alexanders   (2003-02-22 13:28) [0]

Уважаемые знатоки. У меня проблема в следующем. Есть wav файл, который архивирован в zip. Есть проигрыватель с помощью которого проигрывается не архивированный wav файл. Есть ли возможность работая с памятью, разархивировать и проигрывать wav файл из памяти с возможностью навигации (с пом. слайдера) по wav файлу. Я пробовал работать с памятью, однако wav файл загружается постепенно и невозможен переход по wav файлу с помощью слайдера.

Заранее балгодарен за ваш ответ


← →
Alex44   (2003-02-22 21:01) [1]

Izvinite, ne sovsem otvet. A zachem Vy zipuete wav file?


← →
Alexanders   (2003-02-23 17:21) [2]

Чтобы его защитить


← →
Saracin ©   (2003-02-24 02:34) [3]

Ну я посмотрел, что мастера не отвечают, так что и мой ответ возможно сойдет. (Всего лишь мысли)
Бегунок, это не FilePointer это номер выборки, всего выборок хранится в wav заголовке после data-чанка.
Отсюда следует, что зная тип записи (моно/стерио), bit per sample (8/16) и количество этих семплов, не состовляет труда сделать виртуальный бегунок. Как только юзак меняет его значение нет никаких проблем узнать какой байт или слово тебе надо скочать из файла:
int org = смещение от начала + BPS*Текущее значение бегунка.
файл можешь спроецировать в память
1. HANDLE hFile= CreateFile()
2. HANDLE hMapObj = CreateFileMapping(hFile,...)
3. LPVOID pFile = MapViewOfFile(hMapObj,...)
разорхивировать его (уже в памяти)
после чего делаешь SetFilePointer(hFile,org,FILE_BEGIN); и Читаешь через ReadFile или
char *pChar = (char*)pFile + org;
если BPS=8, то char SampleValue = *pChar;
если BPS=16, то short SampleValue = (short)*pChar;
вот и все. :))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-13193
qqqqq
2003-05-24 22:11
2003.06.05
Вопрос по строкам.


6-13359
Is
2003-03-13 18:35
2003.06.05
Кто подскажет ф-цию аналог команды net send


3-13018
rosl
2003-05-16 09:35
2003.06.05
сумма поля


6-13347
Gliser
2003-04-04 09:54
2003.06.05
Еще раз на счет Сокет Сервера


14-13467
Анат
2003-05-18 13:01
2003.06.05
Графический редактор.




   Наверх