Главная страница
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
14-13435
Jiming
2003-05-19 16:10
2003.06.05
Експерт а VSS для


3-13041
alleb
2003-05-16 17:44
2003.06.05
ADO и ClientDataSet


1-13188
Endi
2003-05-26 20:44
2003.06.05
Странности при смене компьютеров


3-12997
k-sergey
2003-05-19 13:16
2003.06.05
Top


14-13375
Колян
2003-05-21 09:10
2003.06.05
Использование SetTimer