Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Камри
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 4
#1

Открытие wav файла - C++

27.01.2010, 20:26. Просмотров 1572. Ответов 0
Метки нет (Все метки)

Здравствуйте. мне надо открыть музыкальный файл формата wav и считать информацию в массив из блока data. написала начало функции. но не работает. не находит блоки wav и data вообще. вот программа. что не так?

Код
WAVEFORMATEX*	wfx;			// Указатель на объект структуры WAVEFORMATEX
HMMIO			m_hmmioIn;		// Мультимедийный дескриптор файла
MMCKINFO		m_ckIn;			// Инфоромация о вложенном блоке формата RIFF
MMCKINFO		m_ckInRiff;		// Используется при открытии аудио файла
DWORD dwDataSize; // РАЗМЕР ВЛОЖЕННОГО БЛОКА ДАННЫХ
HPSTR lpData; //указатель на вложенный блок данных
QString str;
char *File_Name;
File_Name="15.wav";
m_hmmioIn=mmioOpenA(File_Name, NULL,MMIO_READ | MMIO_ALLOCBUF);
if(m_hmmioIn!=NULL) ui.edit_Peredano_2->setText("OK");
else  ui.edit_Peredano_2->setText("BADE");
//mmioSeek(m_hmmioIn,0L,SEEK_SET);
ui.edit_P_Vremya_2->setText(str.sprintf("%d",mmioSeek(m_hmmioIn,0L,SEEK_END)));
m_ckIn.fccType = mmioFOURCC( 'W', 'A', 'V', 'E');
if (mmioDescend(m_hmmioIn, (LPMMCKINFO) &m_ckIn, NULL, MMIO_FINDRIFF))
{	
	ui.edit_Peredano_2->setText("ther is no wave file");
	mmioClose( m_hmmioIn, NULL );
	return	0;
}
// Установка текущей позиции файла на начало блока данных
m_ckIn.ckid	= mmioFOURCC('d', 'a', 't', 'a'); 
m_ckInRiff.fccType	= NULL;
int rr=m_ckIn.cksize;
if (mmioDescend(m_hmmioIn, &m_ckIn, &m_ckInRiff, MMIO_FINDCHUNK)!=NULL)
{
	ui.edit_Peredano_2->setText("ther is no data chuck in file");
}
dwDataSize=m_ckInRiff.cksize;
if (dwDataSize==0L) 
{
	ui.edit_Peredano_2->setText("data=0");
}
if (mmioRead(m_hmmioIn,(HPSTR) lpData,dwDataSize )!=dwDataSize)
{
	ui.edit_Peredano_2->setText("error in reading");
}
return 1;
Добавлено через 6 часов 41 минуту
уважаемые модераторы удалите тему из этого раздела, она тут не к чему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2010, 20:26     Открытие wav файла
Посмотрите здесь:

Открытие wav файла и чтение его заголовка - C++
Надо открыть wav файл и прочитать заголовок его , компилиться но ничего не происходит #include <stdio.h> #include <string.h> ...

Склеить два wav-файла - C++
/* Написать программу, формирующую из двух WAV файлов третий путем конкатенации файлов. */ #include <stdio.h> #include...

Считать data из wav файла - C++
Ребят, все перелазил и не могу дойти как считать данные звукового файла. Заголовок считал. Теперь нужно считать в массив данные,...

Чтение заголовков wav файла - C++ Builder
Внимание вопрос! Как прочитать заголовок вав файла и по этим данным построить спектр? Bass не катит, спектр строит но в реал тайме при...

Воспроизведение wav-файла из папки на диске D - Visual C++
Пытаюсь воспроизвести с помощью PlaySound(L"D\\Nick\\musick\\mp1.wav", NULL, NULL); но ничего не происходит, хотя проект...

Чтение самплов из wav файла в массив - C++
Всем привет!!! Ситуация такая: Заголовок успешно читаю. Хочу получить массив с самплами. Проблема: Не понимаю как преобразовать...

Деление Wav-файла на два канала - C++
Реализовать функцию разделяющую входной wav файл на каналы (на два выходных файла) с возможностью уменьшения амплитуд любого из каналов. ...

Вшитие mp3/wav файла в проект - C++ WinAPI
Хочу сделать проект с музыкой, но для этого мне нужно её вшить туда. Можете скинуть код, как это сделать?

Неправильно считываются данные из wav-файла - C++
Всем привет! У меня проблема с получением данных из WAV файла. Почему то функция, которая написана ниже, возвращает размер блока data в 2...

Прочитать несколько секунд wav файла в массив - C++
Есть win32 проект в Студии. Задача - запросить диалог выбора wav файла, проверить что это wav файл, прочитать его хедер, взять оттуда...

Перенести код считывания wav-файла на Delphi. - C++
Вот сам код: typedef struct { char id_riff; long len_riff; char id_chuck; char fmt; long len_chuck;

Рисовать график wav файла с зумом по времени - на чем? - C++
Задача - есть моно wav файл, надо сделать его визуализацию во временнОй области с прокруткой и изменением масштаба по времени в широких...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru