2013-11-24 15 views
8

Google Glass için yeni geliştirmeye başladım ve GDK'yı oldukça yeniyse biliyorum, bu henüz mümkün olmayabilir, ancak burada çalışıyorum:"Tamam cam" stil menüsünü, cam uygulamasında oluştur

"Bir çağrı yap" isteminde olduğu gibi veya "tamam cam" ekranında "ileti gönder" isteminde olduğu gibi, sesimle seçtiğinizde uygulamamın daha fazla ses seçme seçeneğine sahip olmasını isterim. İki örnekle, daha fazla görmek için başınızı yukarı ve aşağı sallayabileceğiniz bir kişi listesi görürsünüz ve uygulama yalnızca görüntülenen seçimlerden birini seçtiğiniz diğer eylemleri gerçekleştirir. Kendi uygulamasında bunu yapmak için herhangi bir yolu var mı?

Herhangi bir girdi takdir edilir!

+0

Aynı zamanda bu durumu da arıyorum ... Hala belirsiz olanlar için, kamera uygulamasında olduğu gibi bu uygulamalarda görebilirsiniz. Sesli komutla resim veya video çekerken, Az önce çektiğiniz resim veya video bağlamında bir "tamam cam" seçeneği. Bu, herhangi bir uygulamanın yararlanması için son derece yararlı olacaktır. – JRomero

+2

Bu, başka bir sorunun kopyasıdır ve Alain, GDK'da henüz bir özellik isteğinin kaydedilemediğini ve bir özellik isteğinde bulunacağını söyledi: http://stackoverflow.com/a/20134647/1174526 – louielouie

cevap

2

Etkinliğiniz başladıktan sonra Ses Tanıtıcı'yı görüntülemek için bir amaç arayabilirsiniz. Bu nedenle, sesinizi tetikleyebilir ve başlatmayı isteyebilirsiniz. Daha sonra, etkinliğinizdeki onResume() öğesinde, bir tür komut istemi ile Ses Tanıma Aracı'nı çağırın (veya bu komutun içine derhal iletilen ilk konuşmayı yapabilirsiniz). :

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "ok glass, here's my prompt"); 
    startActivityForResult(intent, 0); 

Daha sonra dönüş VoiceRecognizer formu işlemek için bir onActivityResult() yöntemini gerekir.

Bu

GDK docs açıklanmıştır: başka bir yolu yoktur https://developers.google.com/glass/develop/gdk/input/voice

emin değilim.

+0

Bunu denedim ve bir ölçüde çalışıyor, ama hala aradığım menü türü değil. Bu şekilde, kullanıcının söylediği metin, konuşmaya başladıklarında, istemin yerini alacak ve burada bir şey söyleyebilirler. Bunun yerine sadece camın eylemlerimden birini söylerse harekete geçmesini istiyorum. Bu mümkün değil sanırım ... – tVoss42

+0

Bu yaklaşımı denedim, ancak sadece etkin bir internet bağlantınız olduğunda çalıştığı bulundu. Belgelerden: "Bu API'nın uygulanması, büyük miktarda bant genişliği kullanabilen konuşma tanımayı gerçekleştirmek için uzak sunuculara ses akışı gerçekleştirebilir." – Armentage

0

Uygulamanızı tetikleyen Glass'a bir ses komutu ekleyip ekleyemeyeceğinizi mi soruyorsunuz? Eğer öyleyse - kesinlikle. Aslında bu, GDK’ya bir uygulamanın başlamasının önerilen yoludur.

detaylar için https://developers.google.com/glass/develop/gdk/input/voice#launching_glassware Bak, ama temelde

  1. tetiği ve hızlı
  2. anahtar kelime olarak dize değerini kullanır ve giriş setleri res/xml/<my_voice_trigger>.xml bir kaynağı oluşturun açıklayan res/values/strings.xml kaynak ekleme edeceğiz
  3. bir kenara olarak VOICE_TRIGGER eylem

bir amacı bir filtre (siteye isteminde, bu t görünür şapka fiilleri kullanmak için en iyi ses tetikleyicileridir - "ok, cam" menü öğesiyle daha doğal bir şekilde akarlar.)

+0

Evet, bunu nasıl yapacağımı biliyorum ama "OK google" menüsü gibi davranan başka bir menüyü sunmanın bir yolu varsa, ancak özel seçeneklerim ile AFTER uygulamamı seçtiğimi soruyorum. – tVoss42

2

Bu cevabı, tam olarak istediğiniz gibi görünen another SO question dan buldum. Kendi Glassware'im için kendim denedim ve mükemmel çalışıyor. Aşağıdaki cevabında da belirtildiği gibi, aynı "tamam cam" ses komutunu kullanan diğer uygulamaların alt menüyü paylaşacağı konusunda bir uyarı; Aşağıdaki örnekte, örneğin, başka bir uygulama "golf" gibi başka oyunlar ekleyebilir. Diğer bir potansiyel sorun ise alt menüde istediğiniz her bir seçenek için bir Aktivitenize veya Servisinize sahip olmanızdır.

"Birden faaliyetleri varsa/hizmetler amaç filtresini tetikleyen aynı ses var Glass yüklü bir anlam ayrımı görünecektir (<activity> veya AndroidManifest.xml içinde <service> etiketi android:label niteliğe dayalı olarak) isimlerinin hepsi" alt menü "o ses tetiklendiğinde.

Örneğin (res/xml/play_a_game_trigger.xml "bir oyun oynamak" dizesi için sesli tetikleme temsil ettiğini varsayalım):

<activity android:label="Tennis"> 
    <intent-filter> 
     <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> 
    </intent-filter> 
    <meta-data android:name="com.google.android.glass.VoiceTrigger" 
     android:resource="@xml/play_a_game_trigger" /> 
</activity> 
<activity android:label="Bowling"> 
    <intent-filter> 
     <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> 
    </intent-filter> 
    <meta-data android:name="com.google.android.glass.VoiceTrigger" 
     android:resource="@xml/play_a_game_trigger" /> 
</activity> 

size

gibi
ok glass → play a game → Tennis 
         Bowling 

görünen bir ses menüsü akışını verecekti Bununla birlikte, bu menünün, aynı ses tetikleyicisini de kullanan diğer APK'larındaki etkinlikleri/hizmetleri de içereceğini unutmayın.

Sen GDK belgelerin Voice Input sayfada daha fazla ayrıntı bulabilirsiniz."

0

Artık aktivitesi üzerine bir ok cam menüsünü göstermek için çerçeve apis kullanabilirsiniz, içeriksel sesi ile ilgili onay bu Dokümanlar

komutları

İlgili konular