Всадник без головы (wav ,без заголовка)

Для неординарных вопросов. Если вы опытный программист, попавший в трудную ситуацию, — вам сюда.

Модератор: gaidar

Правила форума
Этот раздел не предназначен для того, чтобы вы адресовали свою проблему профессионалам.
Этот раздел предназначен для профессионалов, которые столкнулись с проблемой и не могут решить ее самостоятельно.
Если вы считаете себя профессионалом, а свою проблему сложной — вам сюда.
Если модератор посчитает, что вы ошиблись, то на первый раз он перенесет ваше сообщение в основной раздел без последствий для автора. Во второй раз тема будет закрыта, а автору будет выписано нарушение. В третий раз автор будет забанен.
Random*0
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 24.04.2009 (Пт) 16:05

Всадник без головы (wav ,без заголовка)

Сообщение Random*0 » 25.04.2009 (Сб) 12:02

такая вот проблема:
есть файл RIFF (wav) без заголовка, есть заголовок. Требуется воспроизвести.
На первый взгляд всё просто:
читаем в байтовый массив заголок и файл, суём всё в API PlaySoundMemory (что-то вроде PlaySoundMemory(байт_массив(0), ByVal 0, &H4)), но...
всё это идёт через ОЗУ, к тому же я вынужден создать сначало массив1 с заголовком, длиной зголовок+файл, затем массив2 длиной в файл,затем
копимеморить один в другой. Как-то коробит, если учесть что WAV-файл довольно большой.
Так вот, могу ли как-то либо считать WAV ввиде: массив1(44 to конец) или существует другой способ воспроизвести wav? :drunken:

Xcode
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 131
Зарегистрирован: 31.10.2008 (Пт) 8:12
Откуда: Pavlodar

Re: Всадник без головы (wav ,без заголовка)

Сообщение Xcode » 26.04.2009 (Вс) 1:48

Коробит в ОЗУ, собирай на ЖД и проигрывай той же PlaySound или sndPlaySound. А еще загляни в API-Guide.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4256
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Всадник без головы (wav ,без заголовка)

Сообщение iGrok » 26.04.2009 (Вс) 2:14

Random*0 писал(а):Так вот, могу ли как-то либо считать WAV ввиде: массив1(44 to конец)

Конечно можешь. API ReadFile, к примеру.

И, кажется, это всё-таки не в тот раздел..
label:
cli
jmp label

Random*0
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 24.04.2009 (Пт) 16:05

Re: Всадник без головы (wav ,без заголовка)

Сообщение Random*0 » 26.04.2009 (Вс) 13:34

iGrok писал(а):
Random*0 писал(а):Так вот, могу ли как-то либо считать WAV ввиде: массив1(44 to конец)

Конечно можешь. API ReadFile, к примеру.

И, кажется, это всё-таки не в тот раздел..

Я, наверное, неправильно изложил задачу, вот уточнение:
PlaySoundMemory(заголовк()+тело("с:\мой_файл"), ByVal 0, &H4) (любая мне знакомая медиа заточенная АПИ требует форматированные данные)
как заставить функцию сначало прочитать байтовый массив из переменной, затем читать из файла?
В иделе я бы хотел так:
фунция(заголвок, файл_данных)

Xcode писал(а):Коробит в ОЗУ, собирай на ЖД и проигрывай той же PlaySound или sndPlaySound. А еще загляни в API-Guide.

Собирать на ЖД неприемлимо, тк файл большой + через сеть + "коробит"

Насчет ReadFile не понял чем она поможет.
"И, кажется, это всё-таки не в тот раздел.." - это вопрос самооценки, я не обижусь если Вы назовте меня "новичком" , тк всё относительно ;)
Модератор простит на первый раз?

Random*0
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 24.04.2009 (Пт) 16:05

Re: Всадник без головы (wav ,без заголовка)

Сообщение Random*0 » 26.04.2009 (Вс) 13:48

to iGrok ВЫ правы насчё readfile, сам же спросил))
Сформулировал сам же не очень точно. Не знаю за какой конец ухватиться - в голове как в доме Оболонских.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4256
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Всадник без головы (wav ,без заголовка)

Сообщение iGrok » 26.04.2009 (Вс) 18:39

Random*0 писал(а): to iGrok ВЫ правы насчё readfile, сам же спросил))
Сформулировал сам же не очень точно. Не знаю за какой конец ухватиться - в голове как в доме Оболонских.

Если работать через API, то ReadFile можно подсунуть указатель на любое место в середине массива (44й байт, например), и данные прочитаются точно так, как тебе нужно.

Посмотри тут: viewtopic.php?f=1&t=39245
label:
cli
jmp label

Random*0
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 24.04.2009 (Пт) 16:05

Re: Всадник без головы (wav ,без заголовка)

Сообщение Random*0 » 28.04.2009 (Вт) 4:17

iGrok, действительно, это избавило код от лишних телодвижений :idea: , спасибо!.
Вот что значит свежий взгляд. Далее я, наверное, попробую создать поток сэмплов.
Думаю, всё получится.
Как говорится: "нет предела совершенству". 8)


Вернуться в Раздел для Профессионалов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList