PCM, OpenAL, ObjectAL.
:
- (AL_FORMAT_MONO16 AL_FORMAT_STEREO16)
ALSource . OALSimpleAudio (, ), , :
[OALSimpleAudio sharedInstance].reservedSources = 20;
( init):
mySource = [[ALSource source] retain];
ALBuffer , :
ALBuffer* myBuffer = [ALBuffer bufferWithName:someName
data:myAudioData
size:audioDataSizeInBytes
format:audioFormat
frequency:sampleRateInHz];
:
[mySource play:myBuffer]
Edit: ALBuffer free() , . , :)
2: "freeDataOnDestroy" ALBuffer, , ( YES).
3: . , , . "playBuffer" OALSimpleAudio.
, OALSimpleAudio :
myBuffer = [[ALBuffer bufferWithName:someName
data:myAudioData
size:audioDataSizeInBytes
format:audioFormat
frequency:sampleRateInHz] retain];
...
id<ALSoundSource> source = [[OALSimpleAudio sharedInstance] playBuffer:myBuffer
volume:1.0
pitch:1.0
pan:0
loop:NO];
[source pitchTo:2.0
duration:5.0
target:nil
selector:nil];
// And so on...