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

C++

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

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

27.01.2010, 20:26. Просмотров 1566. Ответов 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-файла на Delphi. C++
C++ Builder Чтение заголовков wav файла
неправильно считываются данные из WAV файла C++
склеить 2 wav файла C++
C++ Чтение самплов из wav файла в массив
C++ Открытие wav файла и чтение его заголовка
Рисовать график wav файла с зумом по времени - на чем? C++
Прочитать несколько секунд wav файла в массив C++
Написать программу, формирующую по исходному WAV файлу новый WAV файл C++
Visual C++ Воспроизведение wav-файла из папки на диске D
Считать data из wav файла C++
Вшитие mp3/wav файла в проект C++ WinAPI

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

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

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