J'ai une application qui lit de l'audio via AVAudioPlayer ainsi qu'une implémentation de lecteur AudioUnit. Depuis iOS6, le volume de lecture (quel que soit le mécanisme de lecture) via le haut-parleur a été considérablement réduit, à tel point que le volume est à peine audible, même au volume maximum. Si je change simplement la session audio pour l'une des autres comme kAudioSessionCategory_SoloAmbientSound ou kAudioSessionCategory_MediaPlayback, les niveaux de volume reviennent à ce qu'ils étaient avant iOS6 mais, bien sûr, je ne suis pas en mesure d'enregistrer de l'audio. Sur le même appareil exécutant iOS5 (ou iOS4), il n'y a aucune différence dans les niveaux de volume avec les différentes catégories de session audio.
Quelqu'un d'autre a-t-il rencontré ce problème ? Je suis coincé en essayant de trouver comment ramener les niveaux de volume à la normale dans mon application. J'ai signalé un bogue à Apple parce qu'il semble qu'il s'agisse d'un bogue puisque les niveaux de volume sont si radicalement différents entre les différentes catégories, mais je ne m'attends pas à obtenir une réponse (ou une solution) rapidement de leur part.
Configuration de la session audio :
UInt32 category = kAudioSessionCategory_PlayAndRecord;
error = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category);
if (error) {
// handle error
}
UInt32 speakerOverride = 1;
error = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(speakerOverride), &speakerOverride);
if (error) {
// handle error
}