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'),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}
Temmuz 13, 2016

His saying herb heaven

YORUMLAR

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir