Flutter’da metinleri sesli olarak okumak için flutter_tts
paketi oldukça popüler bir tercihtir. Bu paket, metni sese dönüştürmek (Text-to-Speech – TTS) için kullanılabilir. Aşağıda, flutter_tts
paketinin kurulumundan temel kullanımına kadar detaylı bir rehber bulabilirsiniz.
flutter_tts
ile çeşitli ayarları değiştirebilirsiniz:
Dil Ayarı:
await flutterTts.setLanguage(“tr-TR”);
import 'package:flutter/material.dart';
import 'package:flutter_tts/flutter_tts.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: TTSExample(),
);
}
}
class TTSExample extends StatefulWidget {
@override
_TTSExampleState createState() => _TTSExampleState();
}
class _TTSExampleState extends State<TTSExample> {
final FlutterTts flutterTts = FlutterTts();
final TextEditingController _controller = TextEditingController();
Future<void> _speak() async {
if (_controller.text.isNotEmpty) {
await flutterTts.setLanguage("en-US");
await flutterTts.setPitch(1.0); // Ses tonu (0.5 - 2.0 arasında değer alabilir)
await flutterTts.speak(_controller.text);
}
}
Future<void> _stop() async {
await flutterTts.stop();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Flutter TTS Example')),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
controller: _controller,
decoration: InputDecoration(
labelText: 'Metni girin',
border: OutlineInputBorder(),
),
),
SizedBox(height: 20),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ElevatedButton(
onPressed: _speak,
child: Text('Konuş'),
),
ElevatedButton(
onPressed: _stop,
child: Text('Durdur'),
),
],
),
],
),
),
);
}
}
Bu Yazıya Tepkin Ne Oldu ?
YORUMLAR