I have tested the latest library (2011-11-26) on iPad, iPhone 3G, 3GS, 4, 4S with iOS v3.0.x, v4.0.x, v4.3, v5.0.0, v5.0.1
It worked perfectly on all devices. Congratulations for the great job done! I have also an iPad 2 but not yet tried it on this one.
BUG: if the game plays many effects quickly, the audio output shutdowns and only small cracks can be heard until a call to stopAllEffects is made to "reset" the internal state.
- App built using Xcode v4.2 Build 4C199 using Arch=armv6, BaseSDK=iOS 5.0, DeploymentTarget=3.0, Compiler=LLVM GCC 4.2, build:Debug.
- App runs at 50 FPS (updated each 20 millis).
- All the sound effects have been converted to CAF using afconvert -f caff -d LEI16@44100.
- All the sounds are preloaded.
- There is no background music playing.
Here is an example of playback sequence that will ALWAYS break on all devices (even 4 and 4S) before it even arrives in the middle. (loopCount, priority and volume can be ignored).
- Am I doing something wrong by playing again the same effect before it's stopped?
- Should the code be called from a special thread like the main thread?
playEffect index:1, sound:Sound resourceId:1046, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1029, loopCount:1, priority:1, volume:100
update count:816
...
update count:840
playEffect index:2, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
update count:841
...
update count:847
playEffect index:2, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
update count:848
playEffect index:2, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
update count:849
update count:850
update count:851
playEffect index:1, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
update count:852
update count:853
playEffect index:1, sound:Sound resourceId:1026, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:854
update count:855
update count:856
playEffect index:1, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
update count:857
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:858
update count:859
playEffect index:2, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
update count:860
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:861
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:862
update count:863
playEffect index:2, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
update count:864
update count:865
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:866
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:867
update count:868
playEffect index:2, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
update count:869
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:870
Vibrate: 500
playEffect index:2, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
update count:871
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:872
update count:873
playEffect index:2, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
update count:874
update count:875
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:876
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:877
update count:878
playEffect index:2, sound:Sound resourceId:1028, loopCount:1, priority:1, volume:100
playEffect index:1, sound:Sound resourceId:1032, loopCount:1, priority:1, volume:100
playEffect index:0, sound:Sound resourceId:1031, loopCount:1, priority:1, volume:100
update count:879
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:880
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:881
update count:882
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:883
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:884
update count:885
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:886
update count:887
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:888
update count:889
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:890
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:891
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:892
update count:893
update count:894
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:895
update count:896
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:897
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100
update count:898
update count:899
playEffect index:0, sound:Sound resourceId:1052, loopCount:1, priority:1, volume:100