bascially, müssen Sie so etwas wie
@interface AudioEngine() {
AVAudioEngine *_engine;
AVAudioEnvironmentNode *_environment;
AVAudioPCMBuffer *_ouputBuffer;
NSMutableArray <AVAudioPlayerNode*> *_PlayerArray;
AVAudioPlayerNode *_soundPlayer;
AVAudioPCMBuffer *_soundBuffer;
bool _multichannelOutputEnabled
tun;
laden Sie eine Datei und greifen Sie sie aus dem Puffer. die Stereo in mehrkanaligen aufteilen, müssen Sie so etwas wie
outputLayoutTag = kAudioChannelLayoutTag_AudioUnit_2;
_multichannelOutputEnabled = true;
dieses '_multichannelOutputEnabled = true;'
AVAudio3DMixingRenderingAlgorithm renderingTHIS = _multichannelOutputEnabled ?
AVAudio3DMixingRenderingAlgorithmSoundField : AVAudio3DMixingRenderingAlgorithmEqualPowerPanning;
newPlayer.renderingAlgorithm = renderingTHIS;
irgendwo in einem View-Controller ist in der Regel um den Algorithmus zu falschem
dann Setup etwas zu tun mit Ihren Kanälen
stellen Sie so etwas wie dies zu einem Objekt gebunden haben könnten in einem Spiel
[self.epicAudioEngine.updateListenerOrientation:AVAudioMake3DAngularOrientation([ang.x,ang.y,ang.z])
[self updateEulerAnglesAndListenerFromDeltaX:dX DeltaY:dY]
Durchsehen ffmpeg Quellcode für libavformat, libavutil, um eine Idee zu bekommen, wie man Audio verarbeitet