2014-06-07 31 views
5

Tôi đã cố gắng tìm hiểu AVSpeechSynthesis. Mã hoạt động tốt trong Trình mô phỏng iOS (cả trên iPad và iOS) nhưng tính năng chuyển văn bản thành giọng nói không hoạt động ở tất cả trên iPad của tôi. Đây là mã của tôi.AVSpeechSynthesizer hoạt động trên trình mô phỏng nhưng không hoạt động trên thiết bị

- (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]; 

    }  
} 

UPDATE: AVSpeechSyntheSizer đang làm việc nhưng không có âm thanh Vì vậy, tôi có một UILabel với nội dung giống với các AVSpeechUtterance trên giao diện người dùng. Tôi đã triển khai AVSpeechSynthesizerDelegate để khi tôi nhấn startSpeaking: nhãn văn bản chuyển từ màu đỏ hiện tại. Vì vậy, tôi biết rằng AVSpeechSynthesizer phải làm việc vì nó làm cho các cuộc gọi đại biểu nhưng tôi không thể tìm ra lý do tại sao tôi không thể nghe thấy nó. Âm lượng tăng và không có ứng dụng nào khác đang phát âm thanh.

+0

Hãy chắc chắn rằng self.speechSynthesizer sẽ không nằm ngoài phạm vi. Nó phải tồn tại trong toàn bộ thời gian của lời nói. – RegularExpression

+0

@Daniel Bạn đã tìm ra nó chưa? –

Trả lời

7

Bạn có điện thoại ở chế độ im lặng không? Điều đó cũng làm tắt bộ tổng hợp.

+0

Cảm ơn. Tôi đã kiểm tra điều đó. Nó chắc chắn không ở chế độ im lặng. –

+0

Tuy nhiên, tôi nhận thấy đôi khi một số video nhất định trên facebook hoặc youtube sẽ phát không có âm thanh (mặc dù nó không ở chế độ im lặng). Không chắc chắn nếu điều đó có thể có liên quan. –

+2

Bật Bật chuông. Được đặt ở đầu nút Âm lượng và kiểm tra. – Sonu

1

Nó không hoạt động vì chế độ Mute của điện thoại của bạn. Để bật 'Mute On' trong iOS 7, bạn phải làm theo các bước sau:

  • Đến Setting lựa chọn của bạn
  • Đến Accessibility
  • Đến AssistiveTouch
  • Bật AssistiveTouch tùy chọn từ nút chuyển đổi
  • Sau đó, biểu tượng Hỗ trợ di chuyển sẽ xuất hiện trên màn hình thiết bị của bạn.
  • Chạm vào nó để mở rộng với nhiều tùy chọn hơn
  • Từ đó chọn Device và Chạm vào Un mute.

Bây giờ hãy chạy dự án và hy vọng nó sẽ hoạt động.

Tái bút: (Trong iOS 8.0 mã này sẽ không làm việc, bởi vì đối với một lỗi bất ngờ, từ iOS8.1 họ gỡ bỏ nó và nó đang làm việc một cách hoàn hảo) Hy vọng nó hoạt động. :)

+0

Điều này đã thực sự lừa trên iPhone SE của tôi! Đây phải là câu trả lời được chấp nhận. –

Các vấn đề liên quan