آموزش تبدیل گفتار به متن در برنامه نویسی اندروید
سلام دوستان امیدوارم حالتون خوب باشد در این سری از آموزش برنامه نویسی اندروید به آموزش تبدیل گفتار به متن در برنامه نویسی اندروید می پردازیم قبلتر آموزش متن به گفتار را برای شما قرار داده بودیم از لینک زیر می توانید به آموزش قبلی دسترسی پیدا کنید در ادامه با ما همراه باشید.
تبدیل متن به گفتار در اندروید
ابتدا در layout خود کدهای زیر را قرار دهید نام آن در اینجا برابر با activity_main.xml است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/voiceInput" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="100dp" android:textSize="26sp" android:textStyle="normal" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:gravity="center" android:orientation="vertical" > <TextView android:clickable="true" android:gravity="center" android:padding="16dp" android:textColor="@color/colorAccent" android:background="@color/colorPrimary" android:id="@+id/btnSpeak" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Tap to Open Mic" android:textSize="22sp" android:textStyle="normal" /> </LinearLayout> </RelativeLayout> |
در بالا دو TextView قرار دارد با کلیک بروی TextView که در پایین قرار گرفته ضبط صدا شروع می شود و بعد از آن در TextView که در بالا قرار دارد نمایش داده می شود.
کد مربوط به MainActivity.java همانند زیر می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | package ir.programchi; import android.content.ActivityNotFoundException; import android.content.Intent; import android.speech.RecognizerIntent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import java.util.ArrayList; import java.util.Locale; public class MainActivity extends AppCompatActivity { private TextView voiceInput; private TextView speakButton; private final int REQ_CODE_SPEECH_INPUT = 100; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); voiceInput = (TextView) findViewById(R.id.voiceInput); speakButton = (TextView) findViewById(R.id.btnSpeak); speakButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { askSpeechInput(); } }); } private void askSpeechInput() { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault()); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Hi speak something"); try { startActivityForResult(intent, REQ_CODE_SPEECH_INPUT); } catch (ActivityNotFoundException a) { } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case REQ_CODE_SPEECH_INPUT: { if (resultCode == RESULT_OK && null != data) { ArrayList<String> result = data .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); voiceInput.setText(result.get(0)); } break; } } } } |
در بالا void اولی (askSpeechInput) دیالوگ ذخیره صدا گوگل را نمایش می دهد و از onActivityResult برای اینکه بررسی کنیم چه زمانی دیگر صدا وارد نمی شود و سپس صدا را به متن تبدیل می شود.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
با سلام و عرض خسته نباشید
برای زبان فارسی هم امکان استفاده وجود داره یا خیر؟
با تشکر
بله پشتیبانی می شود.
سلام و خسته نباشید
میشه بگید چطوری میشه فارسی رو اضافه کرد؟تبدیل گفتار به متن فارسی
داش سلام..
از چه محیطی برای نوشتن این کد ها استفاده میشه؟
میشه یه اموزش تصویری بزاری
با سلام
ممنون از آموزش مفیدتان
آیا این امکان وجود دارد که در برنامه دکمه ای تعبیه کرد که تا زمانی که دست بر روی آن قرار دارد عملیات تبدیل گفتار را انجام دهد و بعد از برداشتن عملیات متوقف شود؟
سلام و درود
از کد زیر استفاده کنید.
موفق و پیروز باشید.
سلام وقت بخیر
من از این کد استفاده کردم خیلی هم عالو بود ممنون از زمانی که میزارید
فقط یه نکته ای هست
این که اگه زبان گوشی انگلیسی باشه ، نمیشه به صورت فارسی صحبت کرد و باید حتما به صورت انگلیسی صحبت کنم
و اگه بخوام فارسی صحبت کنم باید حتما زبان گوشی فارسی باشه
چطور باید این مشکل را برطرف کنم که اگه زبان گوشی هم انگلیسی باشه از فارسی هم پشتیبانی بشه ؟؟
سلام و خدا قوت
میشه بگید چطوری میشه فارسی رو اضافه کرد؟
تبدیل گفتار به متن فارسی