Главная страница
    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.01 c
14-13377
han_malign
2003-05-21 11:26
2003.06.05
Windows Install package (.msi) / IтstallShield Express Limited


1-13313
Юрий Федоров
2003-05-23 10:39
2003.06.05
навесить обычную процедуру на обработчик события


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


14-13439
e}{e
2003-05-20 01:13
2003.06.05
Задача на классы 2


1-13160
KIE
2003-05-14 15:41
2003.06.05
Delphi и и Excel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский