1

Mon application iOS10 fait la reconnaissance de la parole en parole et en parole. Il met en pause l'audio des autres applications pendant que cela se produit, et notifie l'autre quand l'ASR/TTS est terminée afin qu'ils puissent reprendre leur audio. Tout fonctionne PARFAIT sur iPhone5 et 6.Le volume de la lecture AVSpeechSynthesizer (synthèse vocale) augmente de lui-même, UNIQUEMENT sur iPhone7

Le problème est avec iPhone7s: le volume des phrases parlées est très faible au début, et plus fort vers la fin des phrases. Pourquoi?

Je vais fournir une partie de mon code au cas où, cela semble être un bug iOS.

code de session Audio:

-(AVAudioSessionCategoryOptions)indigoAudioBehaviorOptions:(AVAudioSession *)s{ 
    AVAudioSessionCategoryOptions audioIOoptions = [s categoryOptions]; 
    audioIOoptions |= AVAudioSessionCategoryOptionDefaultToSpeaker; 
    audioIOoptions |= AVAudioSessionCategoryOptionAllowBluetooth; 
    audioIOoptions |= AVAudioSessionCategoryOptionAllowBluetoothA2DP; 
    return audioIOoptions; 
} 
-(void)notifyIOSthatOtherAppsCanResumeAudioPlayback{ 
    NSError *err; 
    [myAudioSession setActive: NO 
        withOptions: AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation 
         error: &err]; 
    if(err!=nil){ 
     NSLog(@"audioIsFreeNotificationForIOS ERROR: %@",err.description); 
    } 
} 


myAudioSession = [AVAudioSession sharedInstance]; 
NSError *err; 
[myAudioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions: [self indigoAudioBehaviorOptions:indigoAudioSession] error:&err]; 

texte au code Discours:

nativeVocalizer = [[AVSpeechSynthesizer alloc] init]; 
nativeVocalizer.delegate = self; 
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:stringToSpeak]; 
[utterance setVoice:[AVSpeechSynthesisVoice voiceWithLanguage:lang]]; 
[nativeVocalizer speakUtterance:utterance]; 

Répondre