Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Вниз

Проигрывание и навигация по 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 вся ветка

Форум: "Media";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
6-13349
Somofly
2003-04-05 03:06
2003.06.05
TWebBrowser


3-13049
gedd
2003-05-16 18:48
2003.06.05
Как прописать LangDriver для DBase


9-12988
MRB_SPB
2002-12-26 16:20
2003.06.05
статьи по инверсной или обратной кинематике


14-13461
vajo
2003-05-20 14:19
2003.06.05
Excel


3-13078
edicon
2003-05-17 00:37
2003.06.05
Ttable и Console





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский