Интернет магазин музыки, mp3 почтой, заказать mp3 диски

дома, коттеджи из клееного бруса rosbrus-nn.ru

баннер интернет-магазина ножей nifovka.ru

RSS - RSS,
Карта сайта

Rambler's Top100

Написать на e-mail © 2007-2012 г.

Монтаж фасадов на странице - http://www.stroymat-opt.ru/Napolmznye_pokrytiya.html. Услуги.



Теги страницы:

CWAVFile. Эти методы позволяют прямое управление данными wave файлов посредством класса, называющегося CWAVFile. Этот класс отслеживает чанки формата и данных для WAV файла. Он открывает переменные для всех частей информации, которая получена в блоке формата, так же, как защищенный указатель m_Data, который хранит содержимое блока данных. Я не строил средств доступа к этому классу, потому что ни один из типов данных здесь не будет изменяться, но если вам удобнее использовать методы Get/ Set, сделайте это. Совет. CWAVFileo6nadaem одним дополнительным оператором присваивания, для того чтобы он мог правильно копировать свой указатель - для класса, который динамически распределяет память, — это главное табу С++. И не забудьте также о своих виртуальных деструкторах.

Загрузка В CWAVFile. Загрузка WAV файла в CWAVFile довольно проста теперь, когда вы знаете формат файла. Заметьте, что в классе CWAVFile есть две перегрузки, для загрузки данных: одна для файла а, а вторая для данных «в памяти». Перегрузка файла просто считывает файл в память и вызывает перегрузку данных «в памяти». Она делает всю работу. Код удивительно пессимистичен; прежде чем он сделает какую-либо реальную работу, он делает все, что может, чтобы убедиться, что data действительно указывает на действующий WAV файл. Если все FOURCC соответствуют необходимому, то он начинает скачивать биты относительных данных из чанка памяти, используя memory. В конце концов, он скачивает сами wave данные посредством вызова метода SetData. Обратите внимание, что класс не принимает на себя владение указателя data, а создает его копию; это значит, что клиент должен освободить эту память как можно раньше.

Функция mmioFOURCC - это удобная функция Win32, определенная в rnnsys- tem.h, которая берет четыре буквы и превращает их в FOURCC. FOURCC на самом деле состоит из 32 бит, поэтому не происходит никакого сжатия, просто умелая перестановка байт и преобразование типа. Сохранение из CWAVFHe. Методы Save из CWAVFile симметричны методам Load. Существуют два метода Save: один для сохранения на диск, а второй для сохранения в память. Перегрузка диска просто вызывает перегрузку памяти и затем сохраняет эту память. Я не собираюсь включать сюда также и метод Save, просто объясню, что он занимает достаточное количество памяти, пересоздает все FOURCC, помещает все элементы С WAVFik в специальные офсеты и добавляет wave данные. Как только все это сделано, он возвращает указатель на память, которую он запросил, снова с пониманием того, что вызывающий оператор владеет памятью, которую возвратил Save.

Пример программы показывает, как считывать в память WAV файл. Совет. Если вы хотите улучшить программу, попытайтесь вставить в звуковой дви кок библиотеку, которая считывает сжатые форматы wave файлов. Будет здорово, если вы сможете заставить звуковой движок считывать wave файл с диска и автшатте- скиразворачивать его, как будто бы мы воздействовали на него объектам CwavcFUc. Другие способы загрузить WAV файлы когда у вас есть фундаментальное понимание формата WAV файлов, настало время перевести стрелки назад в режим DirectMusic и научиться некоторым другим способам загружать wave файлы. В последней главе вы научились скачивать их с диска, а теперь вы научитесь загружать их из памяти или с ресурсов своих приложений.