All of these questions are to be answered by the API itself, and we have no idea about it.
Quote:
What programming language do I use? I was thinking of C# but am open to suggestions.
What languages do they support? Since you have tagged Xamarin and Monogame, I assume C# is the case.
Quote:
How do I make the sounds play in a 3D environment? For example, If I’m close to the engine, the volume is louder and lesser if I’m farther from the engine and so on.
Again, that will be covered in the API design as to how to know the proximity of the object or the coordinates in the XYZ space. You would then need to capture them and set some other fields and values on top of them, to control how the sound is being generated.
Quote:
How do I mix various sound files in C#? like the engine sounds different when it's at 20% compared to 50% and their should be a smooth transition between the two.
1: Run them all together.
2. Merge them into a separate file and then play them.
In most cases, I would expect an Audio library to be available in the engine itself that lets me control how and when to play the sound. Doing that all by myself is not going to be a good approach and letting engine take care of it would be better — entirely upto the structure and design of the API.
Most of the times there are documentations, example codes or samples to help you understand how the API works. You need to consult those documentations to learn how you would do that.