Könyvíró program applikáció magyar nyelven hangvezérlése

Írónő alkalmazás telepítőfájl létrehozása Android készülékekre

  1. Töltsd le a kívánt szövegszerkesztő alkalmazást a Google Play Áruházból, például a Gboardot.
  2. Nyisd meg a szövegszerkesztő alkalmazás beállításait, és engedélyezd a hangvezérlést.
  3. Hozz létre egy új szöveges fájlt, és másold bele a következő kódot:
[AndroidManifest.xml]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.irono"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-permission android:name="android.permission.RECORD_AUDIO" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

[MainActivity.java]
package com.example.irono;

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.speech.RecognitionListener;
import android.speech.RecognizerIntent;
import android.speech.SpeechRecognizer;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private static final int REQUEST_RECORD_AUDIO_PERMISSION = 200;
    private EditText mEditText;
    private SpeechRecognizer mSpeechRecognizer;
    private RecognitionListener mRecognitionListener;

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

        mEditText = (EditText) findViewById(R.id.editText);

        // Kérelem a mikrofon engedélyéhez
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECORD_AUDIO}, REQUEST_RECORD_AUDIO_PERMISSION);
        }

        // Hangfelismerő létrehozása
        mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(this);

        // Felismerési figyelő létrehozása
        mRecognitionListener = new RecognitionListener() {
            @Override
            public void onReadyForSpeech(Bundle params) {
                Log.d("MainActivity", "Készen áll a beszédhez");
            }

            @Override
            public void onBeginningOfSpeech() {
                Log.d("MainActivity", "A beszéd megkezdődött");
            }

            @Override
            public void onRmsChanged(float rmsdB) {
                Log.d("MainActivity", "RMS változott: " + rmsdB);
            }

            @Override
            public void onBufferReceived(byte[] buffer) {
                Log.d("MainActivity", "Puffer fogadva");
            }

            @Override
            public void onEndOfSpeech() {
                Log.d("MainActivity", "A beszéd véget ért");
            }

            @Override
            public void onError(int error) {
                Log.e("MainActivity", "Hiba: " + error);
            }

            @Override
            public void onResults(Bundle results) {
                ArrayList<String> matches = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
                if (matches != null && matches.size() > 0) {
                    String text = matches.get(0);
                    mEditText.setText(text);
                }
            }

            @Override
            public void onPartialResults(Bundle partialResults) {
                Log.d("MainActivity", "Részleges eredmények");
            }

            @Override
            public void onEvent(int eventType, Bundle params) {
                Log.d("MainActivity", "Esemény: " + eventType);
            }
        };

        // Mikrofon gomb beállítása
        Button micButton = (Button) findViewById(R.id.micButton);
        micButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startListening();
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();

        // Hangfelismerő regisztrálása
        mSpeechRecognizer.setRecognitionListener(mRecognitionListener);
    }

    @Override
    protected void onPause() {
        super.onPause();

        // Hangfelismerő leállítása és eltávolítása
        mSpeechRecognizer.stopListening();
        mSpeechRecognizer.destroy();
    }

    private void startListening() {
        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Mondj valamit");

        try {
            mSpeechRecognizer.startListening(intent);
        } catch (SecurityException e) {
            Toast.makeText(this, "A mikrofonhoz való hozzáférés megtagadva", Toast.LENGTH_SHORT).show();
        }
    }
}
  1. Mentsd el a fájlokat, és hozz létre egy új APK-fájlt az Eclipse vagy az Android Studio használatával.
  2. Másold az APK-fájlt az Android-eszközödre, és telepítsd.

Az Írónő alkalmazás használata:

  1. Nyisd meg az Írónő alkalmazást.
  2. Koppints a mikrofon ikonra.
  3. Mondd ki a szöveget, amelyet be szeretnél írni.
  4. Az alkalmazás automatikusan átírja a hangot szöveggé.

Megjegyzés:

  • Az alkalmazáshoz mikrofonengedély szükséges.
  • Az alkalmazás csak alapvető szövegszerkesztési funkciókat tartalmaz.