1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Chuyển đổi văn bản thành giọng nói trong lập trình Android

Chủ đề trong 'Hỏi đáp Tin học' bởi nuongitq, 09/01/2016.

  1. 0 người đang xem box này (Thành viên: 0, Khách: 0)
  1. nuongitq

    nuongitq Thành viên quen thuộc

    Tham gia ngày:
    19/04/2015
    Bài viết:
    59
    Đã được thích:
    6
    Để sử dụng lớp này, bạn cần phải tạo một đối tượng của lớp này và chỉ định initListnere.

    Cú pháp của nó được đưa ra dưới đây khi học lập trình android:
    Mã:
    private E***Text write;
    ttobj=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
    @Override
    public void onInit(int status) {
    }
    }
    );
    
    Trong bài listener này, bạn phải xác định rõ thuộc tính của đối tượng TextToSpeech chẳng hạn như ngôn ngữ của nó, pitch,... Ngôn ngữ có thể được thiết lập bằng cách gọi phương thức setLanguage(). Cú pháp của nó được đưa ra dưới đây:
    Mã:
    ttobj.setLanguage(Locale.UK);
    Phương thức setLanguage đưa một đối tượng Locale như thông số. Danh sách dưới đây của locale có sẵn:

    STT Locale
    1 US
    2 CANADA_FRENCH
    3 GERMANY
    4 ITALY
    5 JAPAN
    6 CHINA


    Khi bạn thiết lập ngôn ngữ, bạn nên gọi phương thức speak của lớp văn bản spkeak. Cú pháp:
    Mã:
    ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
    Ngoài các phương thức speak trên, dưới đây có một vài phương thức có sẵn trong lớp TextToSpeech. Dưới đây là danh sách:

    STT Phương thức và mô tả
    1 addSpeech(String text, String filename)
    Phương thức này thêm 1 bản đồ giữa chuỗi văn bản và 1 file âm
    2 getLanguage()
    Trả về 1 Locale để mô tả ngôn ngữ
    3 isSpeaking()
    kiểm tra vùng ma TextToSpeech là đang bận rộn cho speak
    4 setPitch(float pitch)
    thiết lập độ cao của TextToSpeech
    5 setSpeechRate(float speechRate)
    Thiết lập chế độ của speak
    6 shutdown()
    Phương pháp này giải phóng các nguồn lực được sử dụng bởi các công cụ TextToSpeech.
    7 stop()

    >> Khoa hoc lap trinh android co ban tai ha noi !
    Phương thức ngừng speak

    Ví dụ:
    Ví dụ dưới đây chứng tỏ việc sử dụng lớp TextToSpeech. Là một ứng dụng cơ bản cho phép bạn thiết lập ghi văn bản và speak với nó.

    Để thử nghiệm với ví dụ này, bạn cần chạy trên một thiết bị thực tế.

    Các bước Mô tả
    1 Bạn sẽ sử dụng Android studio để tạo ra một ứng dụng Android dưới một gói com.example.sairamkrishna.myapplication. Trong khi tạo dự án này, chắc chắn bạn Target SDK và biên dịch với các phiên bản mới nhất của Android SDK sử dụng các cấp cao hơn của API.
    2 Sửa đổi file src/ MainActivity.java thêm mã TextToSpeech.
    3 Sửa đổi bố trí tập tin XML res/layout/activity_main.xml thêm bất kỳ thành phần giao diện nếu cần thiết.
    4 Chạy ứng dụng và chọn một thiết bị Android chạy và cài đặt các ứng dụng trên nó và kiểm tra kết quả.


    Nội dung của src/MainActivity.java.
    Mã:
    package com.example.sairamkrishna.myapplication;
    
    import android.app.Activity;
    import android.hardware.SensorManager;
    import android.os.Bundle;
    
    import android.speech.tts.TextToSpeech;
    import android.util.Log;
    
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    
    import android.widget.Button;
    import android.widget.E***Text;
    import android.widget.TextView;
    
    import java.util.List;
    import java.util.Locale;
    
    import android.hardware.Sensor;
    import android.hardware.SensorManager;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    TextToSpeech t1;
    E***Text ed1;
    Button b1;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ed1=(E***Text)findViewById(R.id.e***Text);
    b1=(Button)findViewById(R.id.button);
    
    t1=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
    @Override
    public void onInit(int status) {
    if(status != TextToSpeech.ERROR) {
    t1.setLanguage(Locale.UK);
    }
    }
    });
    
    b1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    String toSpeak = ed1.getText().toString();
    Toast.makeText(getApplicationContext(), toSpeak,Toast.LENGTH_SHORT).show();
    t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
    }
    });
    }
    
    public void onPause(){
    if(t1 !=null){
    t1.stop();
    t1.shutdown();
    }
    super.onPause();
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
    }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    
    int id = item.getItemId();
    
    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
    return true;
    }
    return super.onOptionsItemSelected(item);
    }
    }
    
    >> Khóa học lập trình android cơ bản tại hà nội !
    Nội dung của activity_main.xml
    Mã:
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:transitionGroup="true">
    
    android:layout_height="wrap_content"
    android:id="@+id/textview"
    android:textSize="35dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />
    
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Tutorials point"
    android:id="@+id/textView"
    android:layout_below="@+id/textview"
    android:layout_centerHorizontal="true"
    android:textColor="#ff7aff24"
    android:textSize="35dp" />
    
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:src="@drawable/abc"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true"
    android:theme="@style/Base.TextAppearance.AppCompat" />
    
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/e***Text"
    android:layout_below="@+id/imageView"
    android:layout_marginTop="46dp"
    android:hint="Enter Text"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:textColor="#ff7aff10"
    android:textColorHint="#ffff23d1" />
    
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Text to Speech"
    android:id="@+id/button"
    android:layout_below="@+id/e***Text"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="46dp" />
    
    
    Nội dung của Strings.xml.
    Mã:
    My Application
    Hello world!
    Settings
    

    Nội dung của AndroidManifest.xml
    Mã:
    
    package="com.example.sairamkrishna.myapplication" >
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    
    android:name=".MainActivity"
    android:label="@string/app_name" >
    
    
    
    
    
    
    

    [​IMG]

    Chọn thiết bị tùy chọn và sau đó kiểm tra thiết bị máy có hiển thị như hình dưới:
    [​IMG]

    Bây giờ chỉ gõ một vài dòng văn bản vào trường và ấn nút. Một chú thích sẽ xuất hiện và văn bản sẽ được nói. Thể hiện dưới ảnh sau:
    [​IMG]

    Bây giờ gõ một thứ gì đó và lặp lại bước vừa rồi với một locale khác. Bạn sẽ được nghe lại. Thể hiện dưới ảnh sau:
    [​IMG]

    ----------- || -----------
    Trung tâm đào tạo Thiết kế đồ họa với các khóa học photoshop cơ bản tại hà nội !!

Chia sẻ trang này