من بين الطرق التي يمكنك من خلالها التواصل مع المستخدمين هي استخدام تكنولوجيا "تحويل النص إلى كلام" (TTS). تتوفّر ميزة "تحويل النص إلى كلام" في Android (لا تتطلّب أي مكتبات إضافية) وتعمل حتى في حال عدم الاتصال بالإنترنت. هذه الخصائص تجعل ميزة "تحويل النص إلى كلام" مثالية
للتعامل مع حالات الخطأ في وضع عدم العرض. يمكنك الإشارة إلى ميزات "تحويل النص إلى كلام"
باستخدام الفئة TextToSpeech.
إنشاء مثيل TextToSpeech
ننصح بإنشاء مثيل لفئة TextToSpeech في طريقة onCreate للنشاط المتوقّع ليكون متاحًا طوال مدة Activity:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
إشعار المستخدم عند بدء ميزة "تحويل النص إلى كلام"
بالنسبة إلى التجارب التي لا تتضمّن شاشة (الصوتية فقط)، أعلِم المستخدم بأنّ تطبيقك
قد تم تشغيله بنجاح من خلال إرسال إشعار إليه في طريقة onStart:
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
نقاط رئيسية حول الرمز
TextToSpeech.QUEUE_FLUSHيشير إلى أنّه يجب نطق النص على الفور وإيقاف أي عبارة أخرى من عبارات تحويل النص إلى كلام.- يُستخدَم
utteranceId، في هذه الحالة"welcome_utterance"، لتحديد وقت الانتهاء من نطق هذا النص. لمزيد من المعلومات، يُرجى الاطّلاع علىUtteranceProgressListener.
إيقاف ميزة "تحويل النص إلى كلام"
إذا احتاج تطبيقك إلى مقاطعة ميزة "تحويل النص إلى كلام"، يمكنك استدعاء طريقة stop:
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
حذف موارد تحويل النص إلى كلام
يجب تنظيف الموارد عند إيقاف نشاطك من خلال استدعاء الإجراء shutdown ضمن إجراء onDestroy الخاص بالنشاط:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}