AVSpeechSynthesizer работает на симуляторе, но не на устройстве

Я пытался изучить AVSpeechSynthesis. Код отлично работает в симуляторе iOS (как на iPad, так и на iOS), но функция преобразования текста в речь вообще не работает на моем iPad. Вот мой код.

    - (void)viewDidLoad
{

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.



//Load Model
    self.string = @"Hello World";
    self.utterance = [[AVSpeechUtterance alloc] initWithString:self.string];
    self.utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
    self.utterance.rate = (float) 0.25;

    //Load UI
    self.textLabel.text = self.string;


}

- (IBAction)startSpeaking:(id)sender {

    self.speechSynthesizer = [[AVSpeechSynthesizer alloc] init];

    if ([self.speechSynthesizer isSpeaking]) {

        [self.speechSynthesizer pauseSpeakingAtBoundary:AVSpeechBoundaryWord];


    } else {

        [self.speechSynthesizer speakUtterance:self.utterance];

    }    
}

ОБНОВЛЕНИЕ: AVSpeechSyntheSizer работает, но нет звука Итак, у меня есть UILabel с тем же текстом, что и AVSpeechUtterance в пользовательском интерфейсе. Я реализовал AVSpeechSynthesizerDelegate так, что когда я нажимаю startSpeaking: текстовая метка окрашивает текущее слово в красный цвет. Итак, я знаю, что AVSpeechSynthesizer должен работать, потому что он вызывает делегаты, но я не могу понять, почему я его не слышу. Громкость увеличена, и никакие другие приложения не воспроизводят звук.


person Daniel Lyons    schedule 07.06.2014    source источник
comment
Убедитесь, что self.speechSynthesizer не выходит за рамки. Он должен существовать на протяжении всего времени высказывания.   -  person RegularExpression    schedule 03.10.2014
comment
@Daniel Ты понял это?   -  person Ahmet Akkök    schedule 22.05.2017


Ответы (2)


У вас телефон в беззвучном режиме? Это также заглушает синтезатор.

person jhosteny    schedule 18.06.2014
comment
Спасибо. Я проверил это. Это точно не беззвучный режим. - person Daniel Lyons; 22.06.2014
comment
Однако я замечаю, что иногда некоторые видео на facebook или youtube воспроизводятся без звука (даже если это не без звука). Не уверен, что это может быть связано. - person Daniel Lyons; 22.06.2014
comment
Включите звонок. Который находится сверху кнопки Громкости и проверьте. - person Sonu; 20.08.2014
comment
@sonu: - Я пытался последние полчаса. Спасибо, дорогой. Оно работает. Большое спасибо. - person Er.Shreyansh Shah; 05.11.2014

Он не работает из-за режима Mute вашего телефона. Чтобы включить «Отключить звук» в iOS 7, вам необходимо выполнить следующие шаги:

  • Перейдите к варианту Setting
  • Go to Accessibility
  • Go to AssistiveTouch
  • Включите опцию AssistiveTouch с помощью кнопки переключения
  • Затем на экране вашего устройства появится значок Moving Assistive.
  • Коснитесь его, чтобы открыть дополнительные параметры.
  • Оттуда выберите Device и коснитесь Un mute опции.

Теперь запустите проект и надейтесь, что он будет работать.

P.S: (В iOS 8.0 этот код не будет работать, потому что из-за неожиданной ошибки в iOS8.1 его удалили, и теперь он работает отлично) Надеюсь, он работает. :)

person Tulon    schedule 06.01.2015
comment
Это действительно помогло на моем iPhone SE! Это должен быть принятый ответ. - person Nirav Bhatt; 26.11.2017