Mục lục:
- Ba loại điều khiển bằng giọng nói
- Khi người dùng nói "Hãy lưu ý" vào đồng hồ Android của họ, văn bản kết quả sẽ được gửi đến ứng dụng của bạn thông qua Ý định. Để nắm bắt mục đích đó, bạn phải tạo một hoạt động và một bộ lọc ý định phù hợp với ý định.
- Đó là điều đơn giản nhất trên thế giới để có được kết quả từ hoạt động nhận dạng lời nói. Bạn chỉ cần thêm hoạt động TakeVoiceNote và lấy lại văn bản từ ý định, như sau:
- API hành động bằng giọng nói rất đơn giản, nhưng để sử dụng chúng, bạn sẽ cần phải thiết lập API dịch vụ của Google Play và những thứ đó phức tạp hơn một chút để sử dụng.
- ,
Video: Hướng dẫn gọi Google Assistant tiếng Việt bằng giọng nói thay vì nhấn "Home" 2025
Bạn có đồng hồ Android Wear không? Nếu vậy, bạn có thể thích nó, và bạn đã nhận thấy rằng nó không có một bàn phím. Nếu không, hãy thử tìm kiếm một. Tôi sẽ đợi.
Nếu bạn là nhà phát triển Android Wear, bạn nên biết rằng hầu hết các ứng dụng trên Android Wear chỉ thường là chỉ đọc. Ứng dụng Android Wear rất hữu ích để nhận được thông báo về những việc cụ thể mà bạn cần làm, nhưng nếu bạn muốn làm bất cứ điều gì phức tạp, rất có thể bạn sẽ rút điện thoại ra và làm việc đó thay vì trên đồng hồ của mình.
Kiểm soát bằng giọng nói là một ngoại lệ thú vị đối với quy tắc này. Với giọng nói chính tả, bạn có thể dễ dàng "nhập" thông tin vào đồng hồ của bạn mà không cần phải sử dụng bàn phím.
Ở đây, bạn sẽ học cách thêm các mục mới vào cơ sở dữ liệu bằng giọng nói của mình.
Ba loại điều khiển bằng giọng nói
Android Wear cung cấp ba loại kiểm soát bằng giọng nói ra khỏi hộp.
-
Các hành động bằng giọng nói do hệ thống cung cấp, chẳng hạn như "Ghi chú" hoặc "Gọi taxi / taxi".
-
Câu lệnh bằng giọng nói dạng tự do
-
Các hành động bằng giọng nói do hệ thống cung cấp là cách thuận tiện nhất cho người dùng. Họ không yêu cầu người dùng tìm hiểu bất kỳ lời nhắc bằng giọng nói mới, và họ "chỉ làm việc" từ bất cứ đâu. Nếu một trong những hành động thoại tích hợp của Android thích hợp cho ứng dụng của bạn, đây là cách tốt nhất để thực hiện.
Tùy chọn soạn thảo giọng nói dạng tự do là một lựa chọn rất mạnh, nhưng nó yêu cầu người dùng đã ở trong ứng dụng của bạn để tận dụng nó. Bởi vì không phải lúc nào cũng rõ ràng cách khởi chạy ứng dụng Android Wear, tùy chọn này là một lựa chọn tốt nhưng ít phổ biến hơn.
Android Wear đi kèm với hành động "Hãy ghi chú" do hệ thống cung cấp, vì vậy hãy sử dụng chúng để thêm Tác vụ vào ứng dụng của chúng tôi.
Thiết lập bộ lọc ý định
Khi người dùng nói "Hãy lưu ý" vào đồng hồ Android của họ, văn bản kết quả sẽ được gửi đến ứng dụng của bạn thông qua Ý định. Để nắm bắt mục đích đó, bạn phải tạo một hoạt động và một bộ lọc ý định phù hợp với ý định.
Thêm hoạt động TakeVoiceNote vào AndroidManifest. xml của ứng dụng Mang của bạn và đăng ký một bộ lọc đích để nắm bắt mục đích SELF_NOTE:
Lấy văn bản giọng nói
Đó là điều đơn giản nhất trên thế giới để có được kết quả từ hoạt động nhận dạng lời nói. Bạn chỉ cần thêm hoạt động TakeVoiceNote và lấy lại văn bản từ ý định, như sau:
lớp công khai TakeVoiceNote mở rộng hoạt động {@Hãy bảo vệ void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); Chuỗi giọng nóiNote = getIntent (). getStringExtra (Intent. EXTRA_TEXT);}}
Đó là nó! Bất kể người dùng đã nói gì đã được sao chép và đặt vào biến VoiceNote.
Bây giờ phần khó khăn là phải làm gì với văn bản đó.
Mở một kết nối đến Google Play
API hành động bằng giọng nói rất đơn giản, nhưng để sử dụng chúng, bạn sẽ cần phải thiết lập API dịch vụ của Google Play và những thứ đó phức tạp hơn một chút để sử dụng.
Để thêm API vị trí của Dịch vụ Google Play vào dự án của bạn, đặt sự phụ thuộc sau vào trong bản xây dựng của bạn. config file:
phụ thuộc {compile 'com. Google. android. gms: play-services-wearable: 6. 5. 87 '}
Tiếp theo, hãy thêm những điều sau vào AndroidManifest của bạn. xml:
android: name = ""
= " @ integer / google_play_services_version" /> Để thiết lập một kết nối với Dịch vụ Google Play, hãy thêm các thông tin sau vào hoạt động của bạn: // Khách hàng Google
API
, cho dịch vụ đeo GoogleApiClient googleApiClient; @Xoá bỏ void onCreate công khai (Bundle savedInstanceState) {super. onCreate (savedInstanceState); googleApiClient = mới GoogleApiClient. Builder (này). addConnectionCallbacks (này) . addOnConnectionFailedListener (this) . addApi (Wearable. API). xây dựng(); …} @ Xoá bỏ void onStart () {super. băt đâu(); googleApiClient. kết nối(); } @Chuyển công khai void onStop () { googleApiClient. ngắt kết nối (); siêu. onStop ();} Hãy nhớ rằng ID ứng dụng của ứng dụng điện thoại và ứng dụng Mang của bạn phải giống nhau! Nếu chúng khác nhau, kết nối sẽ không được thiết lập. Mã này tạo một đối tượng GoogleApiClient mới trong onCreate () của bạn để kết nối với Dịch vụ Google Play và sau đó cố gắng kết nối trong phần onStart () của bạn và ngắt kết nối trong onStop () của bạn. GoogleApiClient cần một đối tượng gọi lại để thông báo cho nó khi một kết nối đã được thiết lập, vì vậy bạn sẽ cần phải thêm callbacks vào hoạt động của mình. lớp công khai TakeVoiceNote mở rộng Hoạt động thực hiện GoogleApiClient. Kết nốiCallbacks, GoogleApiClient.
@Override
công cộng
voidonConnected (Gói kết nối kết nối) ( bạn sẽ viết nhiệm vụ mới << // cơ sở dữ liệu. } @Xóa bỏ công khai void onConnectionSuspended (nguyên nguyên nhân) { // Google Phát < kết nối có bị bị gián đoạn. Ví dụ t cần đến làm bất cứ điều gì. } @Override public void Kết quả onConnectionFailed (kết quả ConnectionResult) { Xử lý lỗi kết nối > với // Google. thông tin xử lý lỗi > xem // // developer. android. com / google / auth / api-client. html } } Xin chúc mừng! Bây giờ, bạn đã thiết lập đúng kết nối với Dịch vụ của Google Play sẽ tự động ngắt kết nối khi ngừng hoạt động của bạn. Bước tiếp theo là yêu cầu điện thoại tạo ra một nhiệm vụ mới.Yêu cầu điện thoại thêm một tác vụ mới Giờ đây bạn có kết nối với Google Play, bước tiếp theo là gửi văn bản thoại đến điện thoại của bạn để điện thoại có thể thêm nhiệm vụ vào cơ sở dữ liệu của nó. Cập nhật phương thức onConnected () của hoạt động của bạn để gửi tin nhắn đến điện thoại của bạn với nội dung bằng giọng nói: lớp công khai TakeVoiceNote mở rộng Hoạt động thực hiện GoogleApiClient. ConnectionCallbacks, GoogleApiClient. OnConnectionFailedListener {// Đường dẫn (loại giống như một URI) để xác định thao tác // bạn muốn thực hiện trên thiết bị cầm tay. String cuối cùng của chuỗi tĩnh riêng PATH_ADD_TASK = " / addTask "; … @Override public void onConnected (Gói gói) { Đăng nhập. d ( "
TakeVoiceNote
",
"
onConnected
" ); // Văn bản nhận dạng giọng nói được truyền qua // intent Chuỗi thoạiNote = getIntent (). getStringExtra (Ý định EXTRA_TEXT); // Chuyển đổi chuỗi thành byte byte cuối cùng [] voiceNoteBytes = voiceNote. getBytes (Charset forName (" utf-8 " )); // Lấy danh sách tất cả các thiết bị mà bạn ' lại // kết nối với. Thông thường, đây chỉ là // điện thoại của bạn. Bất kỳ thiết bị khác sẽ bỏ qua thông điệp của bạn. Có thể mặc được. NodeApi. getConnectedNodes (googleApiClient). setResultCallback (new ResultCallback () { @Override public void onResult (Các nút GetConnectedNodesResult) { cho (Nút nút: các nút. getNodes ()) { // Gửi một tin nhắn yêu cầu rằng // nó bổ sung nhiệm vụ vào cơ sở dữ liệu Wearable MessageApi sendMessage (googleApiClient, node. GetId (), PATH_ADD_TASK, voiceNoteBytes); } kết thúc (); } }); } } Tạo nhiệm vụ mới trên điện thoạiĐiều duy nhất còn lại phải làm là lắng nghe tin nhắn trên điện thoại của bạn để bạn có thể tạo một tác vụ mới khi được yêu cầu. Bạn sẽ làm điều này với một WearableListenerService đơn giản. Trong ứng dụng điện thoại của bạn, tạo một lớp mới có tên AddTaskWearableListenerService và thêm mã sau đây: lớp công khai AddTaskWearableListenerService mở rộng WearableListenerService {// Phải khớp với chuỗi trong TakeVoiceNote private static final String PATH_ADD_TASK = "/ addTask"; @ Vượt qua công khai void onMessageReceived (MessageEvent messageEvent) {if (PATH_ADD_TASK.bằng cách sử dụng công cụ String name = new String (messageEvent.getData (), Charset forName ("utf-8")); Giá trị ContentValues = new ContentValues (); giá trị. đặt (COLUMN_TITLE, tiêu đề); giá trị. đặt (COLUMN_DATE_TIME, Hệ thống currentTimeMillis ()); // Chèn công việc vào cơ sở dữ liệu getContentResolver () chèn (CONTENT_URI, values);}}} Bạn cần phải đăng ký dịch vụ trong AndroidManifest của ứng dụng điện thoại.xml, do đó hãy thêm vào nút ứng dụng sau: Kiểm tra nó! Nếu bạn đang sử dụng trình mô phỏng cho Thiết bị Android Wear, bạn sẽ muốn kết nối nó với điện thoại Android của mình. Sau khi đã xong và chạy, hãy đi trước và chạm vào Android Wear của bạn để mở trình đơn tác vụ, sau đó nhấp vào tùy chọn Take a note. > Khi lưu ý lưu, kéo ứng dụng Tasks lên điện thoại của bạn và bạn sẽ thấy mục mới: Xin chúc mừng! Bạn đã thành công trong việc soạn thảo một ghi chú thoại và lưu nó vào ứng dụng Tasks của bạn. Có tất cả những điều thú vị bạn có thể làm với Điều khiển bằng giọng nói trên nền Android và Android Wear., c khám phá Thêm khả năng thoại và Nhận đầu vào bằng giọng nói trong bài viết Thông báo trên trang web Nhà phát triển Android. Happy hacking!