Jump to content

  • Log In with Google      Sign In   
  • Create Account


OpenAL AL_FORMAT_51CHN16, any actual how to out there?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
No replies to this topic

#1 Magusware   Members   -  Reputation: 109

Like
0Likes
Like

Posted 16 July 2013 - 04:54 PM

Hi Guys,

 

I have managed to find a bit more info on the subject but still no definitive answer or solution. In light of the new info my question has now changed.

 

Looking into the files that the sample uses with audacity I see that the fiveptone.wav actually has 6 channels in the file whereas the file I am trying to play only has 2 (thus being stereo).

 

What are the steps needed to take to make the audio play through more channels and give bass and rear speakers output to the 2 channel track? Would I need to create a special 5.1 buffer and somehow put the data in all the respective channels, if so how? 

 

Basically, I want the track to sound somewhat similar to what I hear in my music player when previewing it, where I can hear the bass etc. just nicely.

 

Thanks in advance,

Chris

 

 

 

-- Old Question --- 

 

Hi guys, 

 

Got a problem here with audio in my game. I decided to start working on getting 5.1 sound working when I hit a bit of a wall. Up until now I've been using alut so everything has been simple and easy and I have to look up very little in what I needed... again... until now...

 

I have been using alutCreateBufferFromFile(const char* filename); function to create my buffers, but what I have managed to deduce is I need to load the data separately and use alBufferData to set the buffer data as I need it.

 

as such I have the following.

ALenum		format;
void*		data;
ALsizei		size;
ALsizei		freq;
ALboolean	loop;

alutLoadWAVFile(filename, &format, &data, &size, &freq, &loop);

ALuint buffers[1];
alGenBuffers(1, buffers);

ALenum eBufferFormat = alGetEnumValue("AL_FORMAT_51CHN16");

//safeguard if al_format_51chn16 is unsupported
format = eBufferFormat ? eBufferFormat : format;

alBufferData(buffers[0], format, data, size, freq);

This is obviously not how you do it. I know this because it doesn't play the audio. It finds the format enum but I don't think I'm using it correctly.

However, It does play if I let it use the format it pulls from alutLoatWavFile, so the al/alut implementation is working.

 

So my question is, what am I missing? what am I doing wrong? The official documentation is no help whatsoever and searching the problem online is coming up with nothing but dead ends.

 

I know very little about audio programming so a step by step for this would be perfect and much appreciated. Even a nudge in the right direction would be awesome.

 

 

Thanks in advance

MaGuSware™


Edited by Magusware, 17 July 2013 - 08:46 AM.


Sponsor:



Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS