Professional Documents
Culture Documents
مشروع تطبيق ناطق صوتي برمجة اندرويد
مشروع تطبيق ناطق صوتي برمجة اندرويد
com
في هذه الفترة ,سوف نعرض عليكم مشاريع مع أكوادها مفتوحة المصدر ,وشرح بعض النقاط ..
تستطيع من خلل المشاريع فهم نقاط في البرمجة ,وتزيد خبرتك أكبر في برمجة تطبيقات اندرويد,
كما يمكنك عمل تجميعة من التطبيقات والمميزات من خلل المشاريع المفتوحة المصدر.
اليوم إن شاء ا مشروع ناطق صوتي ,مع خيارات لسرعة الصوت ..وتستطيع كذلك تغيير اللغة لعدة
بلد.
سوف أعرض عليكم الكواد مباشرة ,لنني أتوقع من خلل متابعتك للمدونة تستطيع بعدها عمل
مشروع جديد ,وإن تتخطى مستوى مبتدأ في هذا المجال.
معاينة:
/http://www.andrody.com في موقع اندروديAbboudi_Aliwi مـ بواسطة2015-2-20 تم نشر التدوينة
وفي البداية سوف نستخدم في ملف. بلغة الجافاO لنها تتصل بكلسات موجود سابقا.. المر بسيط
: لليوت الرئيسية التالي
تستطيع اختيار منها,( فهو بمثابة قائمة صغيرةSpinner) عدا عنصر سبينر,Oجميعها تم شرحها سابقا
بمثابة سؤال وله عدة خيارات يمكنك اختيار واحدة فقط لتعرض,قيمة واحدة من مجموعة من القيم
(: يمكنك القول إنها قائمة منسدلة.لك القيمة
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp">
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:layout_weight="0.2"
android:text="لنصlllا:" />
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="حدثl"! ت
android:layout_margin="20dp"
android:layout_gravity="center_horizontal" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Spinner
android:id="@+id/spinner1"
android:layout_width="100dp"
android:layout_height="wrap_content"
/http://www.andrody.com في موقع اندروديAbboudi_Aliwi مـ بواسطة2015-2-20 تم نشر التدوينة
android:layout_weight="0.8"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:layout_weight="0.2"
android:text="لسرعةlllا:" />
</LinearLayout>
</LinearLayout>
فهو واضح وسوف أضع سطور التعليقات لبعض النقاط التي.. اما بالنسبة لملف الجافا الرئيسي
أمور كثيرة لن أوضحها لنها أصبحت واضحة بالنسبة لك من.تستطيع التعديل فيها حسب ما يناسبك
.خلل دروسنا السابقة
MainActivity.java
package com.andrody.first_app;
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class MainActivity extends Activity implements
TextToSpeech.OnInitListener,OnItemSelectedListener {
buttonSpeak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
setSpeed();
speakOut();
}
});
}
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
// للغةlllllير اlllllا تغيll من هنlعlيlتطl تسUK
int result = tts.setLanguage(Locale.UK);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "تمادهlllllتم اعllم يlلسف لl;)"ل
} else {
buttonSpeak.setEnabled(true);
speakOut();
}
@Override
public void onDestroy() {
// لصوتlllيل اlllيقاف تحوllllا
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}
// اlllع سرعة كل منهlلسرعة مlllئمة اllllقا
private void setSpeed(){
if(speed.equals("llOطيء جداl{))"ب
tts.setSpeechRate(0.1f);
}
if(speed.equals("طيءl{))"ب
tts.setSpeechRate(0.5f);
}
if(speed.equals("اضيlllll{))"الفتر
tts.setSpeechRate(1.0f); // 1.0 اضيةllllllلسرعة الفترlllاf
}
if(speed.equals("lعlيl{))"سر
tts.setSpeechRate(1.5f);
}
if(speed.equals("llO جداlعlيl{))"سر
tts.setSpeechRate(2.0f);
}
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// وستl ت..lllئمة سبينرllllنصر من قاllار عllllllعد اختيlllب
speed = parent.getItemAtPosition(position).toString();
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
}
تستطيع معرفتها من الموقع الرسمي.. هناك عدة لغات معدودة معتمدة, في حال تغيير اللغة
: للمطورين
http://developer.android.com/reference/java/util/Locale.html
.. لترى نتيجة عملك, وأعرضه على المحاكي.. عدل بالكود كما يحلو لك