Chuyển đổi văn bản thành giọng nói trong Android

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Chuyển đổi văn bản thành giọng nói trong Android Empty Chuyển đổi văn bản thành giọng nói trong Android

Bài gửi by nuong 9/1/2016, 11:08

Android cho phép bạn chuyển đổi văn bản thành giọng nói của bạn. Không chỉ bạn có thể chuyển đổi nó nhưng nó cũng cho phép bạn nói chuyện văn bản trong nhiều ngôn ngữ khác nhau. Android cung cấp lớp TextToSpeech cho mục đích này. Để 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:
Code:

[size=16]private EditText write;[/size]
[size=16]ttobj=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {[/size]
[size=16]@Override[/size]
[size=16]public void onInit(int status) {[/size]
[size=16]}[/size]
[size=16]}[/size]
[size=16]);[/size]
[size=16]


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:
Code:

[size=16]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:
Code:

[size=16]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()


>> Khóa học lập trình 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.
Code:

[size=16]package com.example.sairamkrishna.myapplication;[/size]
[size=16]
[/size]
[size=16]import android.app.Activity;[/size]
[size=16]import android.hardware.SensorManager;[/size]
[size=16]import android.os.Bundle;[/size]
[size=16]
[/size]
[size=16]import android.speech.tts.TextToSpeech;[/size]
[size=16]import android.util.Log;[/size]
[size=16]
[/size]
[size=16]import android.view.Menu;[/size]
[size=16]import android.view.MenuItem;[/size]
[size=16]import android.view.View;[/size]
[size=16]
[/size]
[size=16]import android.widget.Button;[/size]
[size=16]import android.widget.EditText;[/size]
[size=16]import android.widget.TextView;[/size]
[size=16]
[/size]
[size=16]import java.util.List;[/size]
[size=16]import java.util.Locale;[/size]
[size=16]
[/size]
[size=16]import android.hardware.Sensor;[/size]
[size=16]import android.hardware.SensorManager;[/size]
[size=16]import android.widget.Toast;[/size]
[size=16]
[/size]
[size=16]public class MainActivity extends Activity {[/size]
[size=16]TextToSpeech t1;[/size]
[size=16]EditText ed1;[/size]
[size=16]Button b1;[/size]
[size=16]
[/size]
[size=16]@Override[/size]
[size=16]protected void onCreate(Bundle savedInstanceState) {[/size]
[size=16]super.onCreate(savedInstanceState);[/size]
[size=16]setContentView(R.layout.activity_main);[/size]
[size=16]ed1=(EditText)findViewById(R.id.editText);[/size]
[size=16]b1=(Button)findViewById(R.id.button);[/size]
[size=16]
[/size]
[size=16]t1=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {[/size]
[size=16]@Override[/size]
[size=16]public void onInit(int status) {[/size]
[size=16]if(status != TextToSpeech.ERROR) {[/size]
[size=16]t1.setLanguage(Locale.UK);[/size]
[size=16]}[/size]
[size=16]}[/size]
[size=16]});[/size]
[size=16]
[/size]
[size=16]b1.setOnClickListener(new View.OnClickListener() {[/size]
[size=16]@Override[/size]
[size=16]public void onClick(View v) {[/size]
[size=16]String toSpeak = ed1.getText().toString();[/size]
[size=16]Toast.makeText(getApplicationContext(), toSpeak,Toast.LENGTH_SHORT).show();[/size]
[size=16]t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);[/size]
[size=16]}[/size]
[size=16]});[/size]
[size=16]}[/size]
[size=16]
[/size]
[size=16]public void onPause(){[/size]
[size=16]if(t1 !=null){[/size]
[size=16]t1.stop();[/size]
[size=16]t1.shutdown();[/size]
[size=16]}[/size]
[size=16]super.onPause();[/size]
[size=16]}[/size]
[size=16]
[/size]
[size=16]@Override[/size]
[size=16]public boolean onCreateOptionsMenu(Menu menu) {[/size]
[size=16]// Inflate the menu; this adds items to the action bar if it is present.[/size]
[size=16]getMenuInflater().inflate(R.menu.menu_main, menu);[/size]
[size=16]return true;[/size]
[size=16]}[/size]
[size=16]
[/size]
[size=16]@Override[/size]
[size=16]public boolean onOptionsItemSelected(MenuItem item) {[/size]
[size=16]// Handle action bar item clicks here. The action bar will[/size]
[size=16]// automatically handle clicks on the Home/Up button, so long[/size]
[size=16]// as you specify a parent activity in AndroidManifest.xml.[/size]
[size=16]
[/size]
[size=16]int id = item.getItemId();[/size]
[size=16]
[/size]
[size=16]//noinspection SimplifiableIfStatement[/size]
[size=16]if (id == R.id.action_settings) {[/size]
[size=16]return true;[/size]
[size=16]}[/size]
[size=16]return super.onOptionsItemSelected(item);[/size]
[size=16]}[/size]
[size=16]}[/size]
[size=16]
>>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
Code:

[size=16][/size]
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
[size=16][/size]
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
[size=16][/size]
android:paddingRight="@dimen/activity_horizontal_margin"
[size=16][/size]
android:paddingTop="@dimen/activity_vertical_margin"
[size=16][/size]
android:paddingBottom="@dimen/activity_vertical_margin"
[size=16][/size]
tools:context=".MainActivity"
[size=16][/size]
android:transitionGroup="true">
[size=16][/size]

[size=16][/size]

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/editText"

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/editText"

android:layout_centerHorizontal="true"

android:layout_marginTop="46dp" />




Nội dung của Strings.xml.

Code:




My Application

Hello world!

Settings






Nội dung của AndroidManifest.xml

Code:





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" >
























Chuyển đổi văn bản thành giọng nói trong Android Chuyen-van-ban-thanh-giong-noi-1



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:

Chuyển đổi văn bản thành giọng nói trong Android Chuyen-van-ban-thanh-giong-noi-2



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:

Chuyển đổi văn bản thành giọng nói trong Android Chuyen-van-ban-thanh-giong-noi-3



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:

Chuyển đổi văn bản thành giọng nói trong Android Chuyen-van-ban-thanh-giong-noi-4



----------- || -----------

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 !!
nuong
nuong
Cấp 1
Cấp 1

Bài gửi : 23
Điểm : 3349
Like : 0
Tham gia : 02/12/2015

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

Permissions in this forum:
Bạn không có quyền trả lời bài viết