Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2011, 23:57   #1
Kami-sama
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 15
Восклицание Не воспроизводится vaw файл

Доброго времени суток.
Нужно поспроизвести файл формата .wav.
По подсказке воспользовался доп библиотекой, проблема в том что эдентичный код работает правильно у других, подскажите в чем проблема. У меня вместо проигрывания слышен только короткий звук и тишина
Цитата:
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <string>
#include <tchar.h>
#include <Windows.h>
#pragma comment(lib,"winmm.lib")

using namespace std;


struct Wav

{
//содержит "RIFF"
char x[4];

unsigned long chunkSize;

//формат "WAVE"
char format[4];

//сдоержи "fmt"
char x2[4];

//бесполезная штука
unsigned long Size1;

//
unsigned short audioFormat;

//кол-во каналов
unsigned short numChan;

//частота дискритезации
unsigned long sRate;

//кол-ва бай за 1с воспроизведения.
unsigned long bRate;

//
unsigned short blockAlign;

//количество бит в сэмпле.
unsigned short bPSample;

//содердит "data"
char x3[4];

//кол-во бай в области данных.
unsigned long Size2;
};



int main()
{
setlocale(LC_ALL, "Russian");
FILE *file;

ifstream fin("d:\\AA.wav",ios::binary);

fin.seekg(0,ios::end);
int size;
size=fin.tellg();
fin.close();



Wav wavfile;
fopen_s(&file, "d:\\AA.wav", "rb");
fread_s(&wavfile, sizeof(Wav), sizeof(Wav), 1, file);
fclose(file);

//воспроизведение.
wchar_t* str;
str=L"play D:\\AA.wav";
mciSendString(str, NULL, 0, NULL);


string st;
for(int i=0; i<4; i++)
st+=wavfile.format[i];

cout<<"Формат композиции:"<<st<<endl;
cout<<"Размер файла:"<<size<<" bytes."<<endl;
cout<<"Частота звука:"<<wavfile.sRate<<" Hz."<<endl;
cout<<"Точность звучания(кол-во бит в сэмпле):"<<wavfile.bPSample<<" bits."<<endl;
cout<<"Общий бит рэйт:"<<wavfile.bPSample*wavfile.sR ate/1000<<" kbps."<<endl;
cout<<"Кол-во байт за с.:"<<wavfile.bRate<<endl;
cout<<"Кол-во каналов:"<<wavfile.numChan;
if(wavfile.numChan==1)
cout<<"-mono."<<endl;
else
cout<<"-stereo."<<endl;

float duration_s = 1.0 * wavfile.Size2 / (wavfile.bPSample / 8) /wavfile.numChan/ wavfile.sRate;
int duration_m = (int)floor(duration_s) / 60;
duration_s = duration_s - (duration_m * 60);
printf_s("Длительность композиции: %02d:%02.f.\n",duration_m, duration_s);


return 0;
}
Kami-sama вне форума Ответить с цитированием
Старый 04.11.2011, 00:05   #2
Kami-sama
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 15
По умолчанию

В заголовке темы конечно же опечатка, формат wav
Kami-sama вне форума Ответить с цитированием
Старый 04.11.2011, 00:39   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

0) В Media player/WinAmp/Whatever файл открывали?
Abstraction вне форума Ответить с цитированием
Старый 04.11.2011, 00:52   #4
Kami-sama
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
0) В Media player/WinAmp/Whatever файл открывали?
С фалом все в поряядке не работает не только на конркетно этом файле.
Kami-sama вне форума Ответить с цитированием
Старый 04.11.2011, 01:51   #5
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

А зачем тебе в тысячный раз переизобретать велосипед? Для этого давно придуманы полнофункциональные мультимедийные библиотеки типа fmod. Не хочешь тащить в проект лишнюю библиотеку - используй стандартную функцию PlaySound.
Son Of Pain вне форума Ответить с цитированием
Старый 04.11.2011, 10:58   #6
Kami-sama
Пользователь
 
Регистрация: 06.11.2010
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
А зачем тебе в тысячный раз переизобретать велосипед? Для этого давно придуманы полнофункциональные мультимедийные библиотеки типа fmod. Не хочешь тащить в проект лишнюю библиотеку - используй стандартную функцию PlaySound.
Спасибо за помщь.
Kami-sama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не воспроизводится звук. удалила прогу. Что делать? Sl001 Мультимедиа в Delphi 2 10.07.2011 18:16
Не воспроизводится звук! Dr.Badnezz Компьютерное железо 10 17.03.2009 13:57
Почему не воспроизводится AVI lionman Мультимедиа в Delphi 15 13.10.2008 22:18
Не воспроизводится MPEG видео Vipervi Софт 2 23.05.2008 15:24