voici mon problème:Conflit entre AVAudioRecorder et AVAudioPlayer
Le code (FooController):
NSString *path = [[NSBundle mainBundle] pathForResource:@"mySound" ofType:@"m4v"];
soundEffect = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[soundEffect play];
// MicBlow
micBlow = [[MicBlowController alloc]init];
Et MicBlowController contient:
NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey,
nil];
et
[recorder updateMeters];
const double ALPHA = 0.05;
double peakPowerForChannel = pow(10,(0.05*[recorder peakPowerForChannel:0]));
lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults;
NSLog(@"Average input: %f Peak input %f Low pass results: %f",[recorder averagePowerForChannel:0],[recorder peakPowerForChannel:0],lowPassResults);
Si Je joue au bac kground son et essayer d'obtenir le pic du micro Je reçois ce journal: Moyenne d'entrée: 0.000000 Pic d'entrée -120.000000 Résultats passe-bas: 0.000001
Mais si je commente toutes les pièces sur AVAudioPlayer cela fonctionne. Je pense qu'il y a un problème de canal.
Merci
Ne pas supprimer les retours d'erreur. Toute méthode qui en a peut échouer d'une manière ou d'une autre; Quand cela arrive, vous voudrez savoir comment il a échoué, de sorte que vous pouvez l'empêcher d'échouer ou récupérer de l'échec gracieusement. –
Excellent travail! Cette solution a fonctionné pour moi aussi. Mais comme Peter l'a dit, si vous rencontrez des problèmes, ne supprimez pas les erreurs. – evilgoldfish
Pourquoi gardez-vous un singleton? – Tudorizer