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

Вниз

wave в файлах   Найти похожие ветки 

 
кекс   (2004-02-05 17:57) [0]

Значится такая проблема, есть файл, неважно какой, играющий роль банка или библиотеки ресурсов, в нем лежат разные файлы, в том числе и wave, и вот енти wave мне оттуда надо выдернуть, мож кто сможет помочь кодом али чем; пробовал искать по файлу места где написано "RIFF", не получилось, да и тем более, что есть другие riff файлы кроме wave, да и потом не знаю как найти конец вава в этом файле.


 
Digitman ©   (2004-02-05 18:46) [1]


> есть файл, неважно какой


т.е. тебе его формат неизвестен ?
какое хоть расширение у него , можно полюбопытствовать ?


> пробовал искать по файлу места где написано "RIFF", не получилось


может, файл скомпрессирован каким-то компрессором ... возможно даже нестандартным ... ты же этого заранее не знаешь, как я полагаю


> не знаю как найти конец вава в этом файле


так ты хоть начало найди ... wav-файл начинается с заголовка, в котором :

- по смещению 0 (dword) : "RIFF"
- по смещению 4 (dword): длина файла, начиная со смещения 8 до конца файла
- по смещению 8 (qword) : "WAVEfmt "

думаю, что если это какой-то нестанд.формат контейнера, то он скорей всего оформлен в виде некоей библ-ки и должен обязательно содержать какой-то заголовок, описывающий либо все содержимое контейнера либо указывающий на 1-й элемент односвязного списка, из заголовка и следом идущие данные


 
кекс   (2004-02-05 21:30) [2]

какой это файл значения не имеет, смысл в том, чтобы найти заголовок wave файла - это первая проблема, затем найти его конец - вторая проблема, ну и выдрать его оттуда - третья, даже если он сжат - это значения не имеет, он лежит там в виде wave файла, разве что если он не сжат самой библиотекой до неузнаваемости


 
Digitman ©   (2004-02-06 08:33) [3]

на вопрос о поиске и локализации образа waveфайла в файле-контейнере, если он не сжат ничем, я тебе уже ответил. Исчерпывающая инф-ция для решения задачи.

все карты тебе в руки


 
кекс   (2004-02-06 10:15) [4]

даже если я найду его начало, то как мне найти его конец?


 
Jel ©   (2004-02-06 10:18) [5]

для поисков конца - Смотри формат .WAV
для поисков начала - в упакованом файле это маловероятно без распаковки. И к тому же, откуда уверенность что звук лежит именно в формате WAV? Ты вроде искал его по заголовкам и не нашел.


 
Digitman ©   (2004-02-06 12:07) [6]


> кекс   (06.02.04 10:15) [4]
> даже если я найду его начало, то как мне найти его конец?


еще раз тебе говорю :
образ стандартного wav-файла начинается с заголовка, в котором :

- по смещению 0 (dword) : "RIFF"
- по смещению 4 (dword): длина файла, начиная со смещения 8 до конца файла
- по смещению 8 (qword) : "WAVEfmt "

пусть начало фразы "RIFF" ты обнаружил по абс.смещению 100 от начала файла-контейнера

смотришь, что лежит по абс.смещению 100 + 8 = 108

если там обнаружена фраза "WAVEfmt ", значит по абс.смещению 100 находится именно WAV-образ, а не просто некий RIFF-образ

тогда по абс.смещению 100 + 4 = 104 берешь 4 байта, интерпретируешь их как dword и получаешь значение этого dword"а

пусть оно, к примеру, оказалось равным 1000

теперь можно определить границы и размер wav-образа в файле-контейнере :

начало образа = 100

конец образа = 100 + (1000 + 8) - 1 = 1107

полная длина образа = конец образа - начало образа + 1 = 1107 - 100 + 1 = 1008 байт

это так сложно ?


 
кекс   (2004-02-06 19:16) [7]

Спасибо, извини за непоннятливость, я пропустил, фразу: "по смещению 4 (dword): длина файла, начиная со смещения 8 до конца файла" :)



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

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

Наверх




Память: 0.46 MB
Время: 0.036 c
3-1081082784
TechnoDreamer
2004-04-04 16:46
2004.05.02
Запись бинарного файла в поле ADOTable


1-1081784836
oleg_SYS
2004-04-12 19:47
2004.05.02
Как самому сделать всплывающую подсказку (Hint)


4-1079008062
saska
2004-03-11 15:27
2004.05.02
Shell_NotifyIcon


8-1075724226
ctrannik
2004-02-02 15:17
2004.05.02
преобразование звукового файла в тестовой фаил


1-1081938491
metalfan
2004-04-14 14:28
2004.05.02
"нажать" кнопу в чужом окне...





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