Konuşmayı metne dönüştürme: Basit bir dikte uygulaması nasıl oluşturulur

Yazar: Lewis Jackson
Yaratılış Tarihi: 13 Mayıs Ayı 2021
Güncelleme Tarihi: 1 Temmuz 2024
Anonim
Konuşmayı metne dönüştürme: Basit bir dikte uygulaması nasıl oluşturulur - Uygulamaların
Konuşmayı metne dönüştürme: Basit bir dikte uygulaması nasıl oluşturulur - Uygulamaların

İçerik


Pek çok uygulama, servis ve ev cihazı, daha iyi bir kullanıcı deneyimi sağlamak ve erişilebilirliği artırmak için konuşma tanımayı kullanır. Konuşma tanıma özelliğini kullanan sayısız Android uygulaması var - bunlardan en önemlileri Google Asistanı - neden takip etmiyor ve bu özelliği kendi Android uygulamalarınıza eklemiyorsunuz?

Bu makalede, Android’in Metin Okuma Amacıyla başlamaya başlamanın hızlı ve kolay bir yolunu paylaşacağım; bu, çok çeşitli uygulamalarda faydalı olabilir. Örneğin, sıkıcı manuel veri girişini otomatikleştirmek, otomatik olarak altyazı oluşturmak, hatta vokal girişini “dinleyen”, metni metne dönüştüren, sonra bu metni çeviren ve sonuçları görüntüleyen bir çeviri uygulamasının temeli olarak konuşma tanımayı kullanabilirsiniz. Kullanıcı.

Oluşturduğunuz uygulama türünden bağımsız olarak, konuşma tanıma, kullanıcılara uygulamanızla etkileşime girmeleri için alternatif bir yol sağlayarak erişilebilirliği artırabilir. Örneğin, mobilite, el becerisi veya görme sorunları olan kişiler, mobil uygulamalarda dokunmatik ekran veya klavyeden ziyade sesli komutları kullanarak gezinmeyi daha kolay bulabilir. Ayrıca, Dünya Sağlık Örgütü'ne (WHO) göre, bir milyardan fazla insan, dünya nüfusunun yaklaşık% 15'ine denk gelen bir tür sakatlık durumuna sahiptir. Uygulamalarınıza erişilebilirlik özellikleri eklemek potansiyel kitlenizi önemli ölçüde artırabilir.


Bu makalenin sonunda, sesinizi kaydeden, metne dönüştüren ve ardından o metni ekranda görüntüleyen basit bir Metin Okuma uygulaması oluşturmuş olacaksınız.

Metinden konuşmaya kullanıcı arabirimi oluşturma

Başlamak için, “Boş Etkinlik” şablonunu kullanarak yeni bir Android projesi oluşturun.

Dokunulduğunda Android'in Metin Okuma Amaçlı Tetiğini tetikleyen ve uygulamanızın konuşma girişini kabul etmeye hazır olduğunu belirten bir iletişim kutusu görüntüleyen bir düğmeden oluşan basit bir uygulama oluşturacağız. Kullanıcı konuşmayı bitirdiğinde, girişleri metne dönüştürülecek ve ardından bir TextView'in bir parçası olarak görüntülenecektir.

Düzenimizi oluşturarak başlayalım:

Bu bize şu düzeni veriyor:


Android uygulamanıza konuşma tanıma ekleme

Konuşma girişini iki adımda yakalar ve işleriz:

1. RecognizerIntent'ı başlatın

Metinden konuşmaya dönüşüm yapmanın en kolay yolu RecognizerIntent.ACTION_RECOGNIZE_SPEECH kullanmaktır. Bu Amaç, Android'in tanıdık mikrofon iletişim kutusunu başlatarak kullanıcıdan sesli giriş yapmasını ister.

Kullanıcı konuşmayı kestikten sonra iletişim otomatik olarak kapanacak ve ACTION_RECOGNIZE_SPEECH kaydedilmiş sesi bir konuşma tanıyıcı üzerinden gönderecektir.

RecognizerIntent.ACTION_RECOGNIZE_SPEECH'i, paketlenmiş ekstralara sahip startActivityForResult () kullanarak başlatırız. Aksi belirtilmedikçe, tanıyıcı cihazın varsayılan yerel ayarını kullanacağını unutmayın.

public void onClick (Görünüm v) {// Tanıtıcı Kimliğini Kastetme niyetini // Kasten Hedefi = yeni Hedefi (Tanıma Keki (Tanıma.Antent.ACTION_RECOGNIZE_SPEECH); deneyin {startActivityForResult (niyet, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}

2. Konuşma yanıtını alma

Konuşma tanıma işlemi tamamlandığında, ACTION_RECOGNIZE_SPEECH, sonuçları arama dizisi olarak çağıran Aktiviteye geri gönderir.

RecognizerIntent'i startActivityForResult () aracılığıyla tetiklediğimizden, sonuç verilerini, konuşma tanıma çağrısını başlatan Aktivitedeki ActivityResult (int requestCode, int resultCode, Intent verileri) üzerine yazarak işliyoruz.

Sonuçlar azalan konuşma tanıyıcı güven sırasına göre döndürülür. Bu nedenle, en doğru metni gösterdiğimizden emin olmak için, döndürülen ArrayList'ten sıfır sırasını almamız ve ardından TextView'imizde göstermemiz gerekir.

@Override // Amaç arayıcımızdaki OnActivityResult yöntemini tanımlayın Etkinlik // korumalı boşluk onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// RESULT_OK döndürülürse ... // if (resultCode == RESULT_OK && null! = data) {//... ArrayList // ArrayList öğesini alın sonuç = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // TextView'imizi güncelle // textOutput.setText (result.get (0)); } mola; }}}}

Metinden Konuşmaya etkin bir internet bağlantısı gerektirmediğini, bu nedenle kullanıcı çevrimdışı olsa bile düzgün çalışacağını unutmayın.

Yukarıdaki tüm adımları tamamladıktan sonra, MainActivity'niz şöyle görünmelidir:

android.content.ActivityNotFoundException öğesini içe aktarın; androidx.appcompat.app.AppCompatActivity dosyasını içe aktar; android.os.Bundle alma; android.content.Intent alma; android.speech.RecognizerIntent alma; android.widget.TextView öğesini içe aktarın; android.view.View içeri aktar; java.util.ArrayList öğesini içe aktarın; genel sınıf MainActivity, AppCompatActivity değerini genişletti {private static final int REQUEST_CODE = 100; özel TextView textOutput; @ Override korumalı geçersiz onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Bu yöntem tuşa basıldığında çağrılır // public void onClick (Görünüm v) // “RecognizerIntent.ACTION_RECOGNIZE_SPEECH” eylemiyle bir Amaç Oluşturun // {Intent intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); try {// Aktiviteyi başlat ve yanıtı bekle // startActivityForResult (intent, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Sonuçları // korumalı void onActivityResult (int requestCode, int resultCode, Intent verileri) {super.onActivityResult (requestCode, resultCode, data); anahtarı (requestCode) {vaka REQUEST_CODE: {if (resultCode == RESULT_OK && null! = veri) {ArrayList sonuç = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } mola; }}}}

Tamamlanan projeyi GitHub'dan indirebilirsiniz.

Projenizi test etmek

Başvurunuzu teste geçirmek için:

  • Projenizi fiziksel bir Android cihaza veya bir Android Sanal Cihaza (AVD) yükleyin. Bir AVD kullanıyorsanız, geliştirme makinenizde yerleşik bir mikrofon bulunmalıdır veya harici bir mikrofon veya kulaklık kullanabilirsiniz.
  • Uygulamanın “Dikte Etmeyi Başlat” düğmesine dokunun.
  • Mikrofon iletişim kutusu göründüğünde, cihazınızla konuşun. Birkaç dakika sonra, kelimeleriniz ekranda görünmelidir.

Sarma

Bu makalede, Metin Okuma Amacıyla Android uygulamalarınıza konuşma tanıma özelliğini nasıl hızlı ve kolay şekilde ekleyebileceğinizi gördük. Konuşma tanıma özelliğini şaşırtıcı veya yenilikçi yöntemlerle kullanan herhangi bir Android uygulamasıyla karşılaştınız mı?

Sonraki: Google ARCore ile artırılmış gerçeklik Android uygulaması oluşturun

Android için bir oyun oluşturmanın birçok yolu vardır ve Android tudio'da Java ile ıfırdan başlamak için önemli bir yoldur. Bu ize oyununuzun naıl görünmeini ve davra...

Cep telefonu tarihine baktığımızda, en ikonik telefonlardan biri Motorola Razr oldu. Platik kapaklı ve şeker çubuğu tarzı telefonların dünyaında, Razr tarzı tanıttı, ince taarlanmış ve mobil...

Sizin Için Önerilen