Írónő alkalmazás telepítőfájl létrehozása Android készülékekre
- Töltsd le a kívánt szövegszerkesztő alkalmazást a Google Play Áruházból, például a Gboardot.
- Nyisd meg a szövegszerkesztő alkalmazás beállításait, és engedélyezd a hangvezérlést.
- 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();
}
}
}
- Mentsd el a fájlokat, és hozz létre egy új APK-fájlt az Eclipse vagy az Android Studio használatával.
- Másold az APK-fájlt az Android-eszközödre, és telepítsd.
Az Írónő alkalmazás használata:
- Nyisd meg az Írónő alkalmazást.
- Koppints a mikrofon ikonra.
- Mondd ki a szöveget, amelyet be szeretnél írni.
- 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.