Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: 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 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
6-13354
Versus31
2003-04-06 09:47
2003.06.05
Печать в TWebBrowser.


1-13261
Q
2003-05-22 17:15
2003.06.05
работа с PChar


1-13296
DDDeN
2003-05-23 09:38
2003.06.05
Ввод в TEdit только цифры


1-13305
Seldon
2003-05-24 22:36
2003.06.05
Unicode -> String


6-13346
velsi
2003-04-04 12:27
2003.06.05
Текущие сеансы IIS/FTP server