0

I am trying to record video of my game using everyplay sdk. I am able to record it by using expired version ( 1.5.x) of everyplay sdk but not with the latest version. When using latest version of everyplay sdk, AVAudioPlayerDelegate start to malfunction i.e. delegate methods are not called anymore as I am doing some important task in those methods.

The issue does not exists when using v 1.5 of everyplay sdk.

Am I doing something wrong? or is there any bug in latest everyplay sdk?

Gaurav Singh
  • 1,897
  • 14
  • 22

1 Answers1

0

AVFoundation AVAudioPlayer recording support was enabled on Everyplay v1.6. However the delegate methods are not called. This will be fixed soon in the next update.

Meanwhile you can disable the AVFoundation support by creating EveryplayFeatures.h and EveryplayFeatures.m to your xCode project with the following contents.

EveryplayFeatures.h

#import <Foundation/Foundation.h>

@interface EveryplayFeatures : NSObject

@end

EveryplayFeatures.m

#import "EveryplayFeatures.h"

@implementation EveryplayFeatures (Private)

+ (BOOL) supportsAVFoundation { return NO; }

@end
Pauli Ojanen
  • 296
  • 2
  • 5
  • Everyplay v1.6.3 is now out and contains a fix to the delegate problem. – Pauli Ojanen Sep 23 '13 at 10:02
  • There was another problem that repeated calling a method using CADisplayLink was also not working at that time. – Gaurav Singh Sep 23 '13 at 15:23
  • AVAudioPlayerDelegate methods still not called always in Everyplay SDK 1.6.3 . I just tested it in my project and enabled AVFoundation support. In my project I play more than one audio files(so I added multiple audio players) in quick succession one after another. I find that delegate is only called once everytime and not for rest of the audio players. Also, I observed that when AVFoundation support is enabled for Everyplay, audio metering using AVAudioPlayer doesn't work anymore. – Gaurav Singh Sep 25 '13 at 11:34
  • Yes, audio metering does not work together with Everyplay. Everyplay is designed to work with the most used audio scenarios in games, like FMOD, CocosDenshion (AVAudioPlayer for the background music + OpenAL for the effects) and AudioUnit based audio engines. However there are some limitations like the audio metering which most of the games do not require. – Pauli Ojanen Sep 26 '13 at 10:31
  • Ok! then I looks like the update doesn't fix anything for me atleast. – Gaurav Singh Sep 26 '13 at 17:36
  • I just run some tests with 3 AVAudioPlayer instances, simultaneously, in a queue and randomly and they all called audioPlayerDidFinishPlaying successfully. I also confirmed that they all were recorded to the video. If you still can replicate your problem, an example project to support@everyplay.com would be highly appreciated. – Pauli Ojanen Sep 27 '13 at 07:56
  • Initial support for AvAudioPlayer level metering and some other AvAudioPlayer related fixes were added to Everyplay v.1.7.2. – Pauli Ojanen Nov 27 '13 at 07:08
  • Ok! but I have changed my code to use "The Amazing Audio Engine" to solve that problem. I'll look into this. – Gaurav Singh Nov 27 '13 at 09:12
  • Yeah, that is probably a better option and easier for Everyplay to record. – Pauli Ojanen Nov 28 '13 at 08:13