PDA

View Full Version : راهنمایی در مورد تلفظ !



big lost
چهارشنبه 24 دی 1393, 19:20 عصر
سلام

یک text to speech دارم که وقتی داخل edittext متنی بنویسی رو میخونه
حالا من میخوام بجای edittext از textview استفاده کنم که مثلا هر مقداری که textview هست رو بخونه

این کد :
کجاهاش باید تغییر کنه ؟
خودم جای edittext نوشتم textview ولی نشد !
package huadi.com.texttospeech;

import java.util.Locale;


import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;


public class MainActivity extends Activity implements OnInitListener
{
private static final int MY_DATA_CHECK_CODE = 0;

private TextToSpeech tts;
private Button btnSpeak;
private EditText txtText;


@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// ہث¬dtts¬O§_¤w¦w¸ث¥B¥i¥خ
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_C HECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

//tts = new TextToSpeech(this, this);

btnSpeak = (Button) findViewById(R.id.btnSpeak);
txtText = (EditText) findViewById(R.id.editText1);

btnSpeak.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
speakOut();
}
});
}


@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
if (requestCode == MY_DATA_CHECK_CODE)
{
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) // ¦pھGTTS Engine¦³¦¨¥\§ن¨ىھ؛¸ـ
{
tts = new TextToSpeech(this, this);
// «إ§i¤@­س TextToSpeech instance, µù¥Uandroid.speech.tts.TextToSpeech.OnInitListe ner
// ·يTTS Engine ھى©l§¹«ل·|©I¥s onInit(int status)
Log.d("onActivityResult", "onInit");
}
else // ¦pھG TTS ¨S¦³¦w¸ثھ؛¸ـ , ­n¨D¦w¸ث
{
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION _INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}


@Override
public void onInit(int status)
{
if (status == TextToSpeech.SUCCESS)
{
tts.setPitch(1.0f); // ­µ½ص
tts.setSpeechRate(1); // ³t«×
int result = tts.setLanguage(Locale.US); // »y¨¥

if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)
{
Log.e("TTS", "This Language is not supported");
}
else
{
btnSpeak.setEnabled(true);
speakOut();
}
}
else
{
Log.e("TTS", "Initilization Failed!");
}
}


private void speakOut()
{
String text = txtText.getText().toString();
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null); //TextToSpeech.QUEUE_ADD ¬°¥ط«eھ؛©ہ§¹¤~©ہ
}


@Override
public void onDestroy()
{
if (tts != null)
{
tts.stop();
tts.shutdown();
}
super.onDestroy();
}
}

big lost
چهارشنبه 24 دی 1393, 22:45 عصر
خواهشا راهنمایی کنین

dalmif
پنج شنبه 25 دی 1393, 10:45 صبح
سلام دوست عزیز
شما باید این رو تغییر بدید

txtText = (EditText) findViewById(R.id.editText1);

و ادیت تکست رو به تکست ویو تغییر بدید و آی دی رو هم درست کنید
دوست عزیز شما وقتی یک تکست ویو میزاری دیگه نمیشه که کاربر توش بنویسه
یا علی

big lost
پنج شنبه 25 دی 1393, 11:10 صبح
سلام دوست عزیز
شما باید این رو تغییر بدید

txtText = (EditText) findViewById(R.id.editText1);

و ادیت تکست رو به تکست ویو تغییر بدید و آی دی رو هم درست کنید
دوست عزیز شما وقتی یک تکست ویو میزاری دیگه نمیشه که کاربر توش بنویسه
یا علی
میدونم منم میخوام یه متن ثابت رو برام تلفظ کنه

این کاری رو که گفتین قبلا انجام داده بودم ولی برنامه موقع اجرا بسته میشه

dalmif
پنج شنبه 25 دی 1393, 11:25 صبح
ببخشید اگه جوابم کارساز نبود.
فقط ببینید که آیا آیدی رو درست میزنید و اون آیدی رو در UI برنامه دارید؟

big lost
پنج شنبه 25 دی 1393, 11:33 صبح
ببخشید اگه جوابم کارساز نبود.
فقط ببینید که آیا آیدی رو درست میزنید و اون آیدی رو در UI برنامه دارید؟
آره id رو درست میزنم نمیدونم چرا اینطوری شده
اینم سورس اصلیش :
https://github.com/huadi73/-Android--TextToSpeech

big lost
پنج شنبه 25 دی 1393, 13:17 عصر
خودم درستش کردم
فکر کنم اکلیپسم مشکل داشت