2014-06-11 24 views
8

Tôi đang sử dụng mã từ URL sau để có được dữ liệu âm thanh từ micro với AudioRecord: http://www.dreamincode.net/forums/topic/303235-visualizing-sound-from-the-microphone/Không thể truy cập microphone khi ứng dụng khác đang sử dụng nó trong Android

Vấn đề tôi đang nhìn thấy là nếu một ứng dụng khác cũng đang sử dụng micrô, tôi sẽ gặp lỗi (trạng thái -3) từ AudioRecord. Mọi thứ hoạt động như mong đợi nếu tôi giết ứng dụng khác đang sử dụng micrô. Có một giải pháp thanh lịch để cho phép ứng dụng của tôi truy cập micrô ngay cả khi một ứng dụng khác đang sử dụng nó không?

Cảm ơn bạn.

+0

Một số thông tin khác: AudioRecord.read đang trả về -3, mà tôi tin rằng có nghĩa là nó đọc không byte. – codeman

+0

Bạn có muốn * chuyển đổi * ứng dụng nào đang sử dụng micrô hoặc cho phép cả hai cùng một lúc? Nếu sau này, đây là một bản sao của [Chia sẻ âm thanh đầu vào?] (Http://stackoverflow.com/q/9758946/752320) Đơn giản chỉ cần đặt, chỉ có một ứng dụng có thể sử dụng nó tại một thời điểm. – Geobits

+0

Tôi muốn chuyển ứng dụng nào đang sử dụng micrô. Tôi cho rằng ứng dụng ở nền trước sẽ có quyền kiểm soát micrô, nhưng dường như bất kỳ ứng dụng nào có ứng dụng đầu tiên sẽ giữ quyền kiểm soát. Cảm ơn vì bất kì sự giúp đỡ. – codeman

Trả lời

8

Đáng buồn thay, chỉ một ứng dụng tại một thời điểm có thể truy cập micrô (giống như máy ảnh).

Ngoài ra, không có cách tiêu chuẩn để thông báo cho một ứng dụng khác mà bạn muốn truy cập vào micrô (để chúng phát hành tài nguyên và cho phép bạn truy cập vào nó). Tuy nhiên, bạn có thể gửi truyền phát tới tất cả các ứng dụng khác ("yêu cầu micrô"), nhưng các ứng dụng khác sẽ phải triển khai tính năng này (và rất ít hoặc không có nhà phát triển nào sẽ thực hiện việc này).

Tôi muốn giới thiệu bạn chỉ đơn giản thông báo cho người dùng rằng micro hiện không có sẵn, bởi vì bạn không thể làm bất cứ điều gì khác.

+1

Cảm ơn bạn. Tôi vừa mới thông báo cho người dùng rằng họ không thể truy cập micrô như bạn đã nói và đóng mọi ứng dụng khác đang sử dụng nó. Tôi có nó khởi động lại quyền truy cập vào micrô khi họ quay lại ứng dụng của tôi. – codeman

+0

Làm cách nào để trở thành ứng dụng khác ở đây? Nếu tôi muốn triển khai tính năng này khi tôi nhận được một chương trình phát sóng để từ bỏ tài nguyên micrô? –

2

Nếu bạn đang sử dụng chức năng "OK Google" với tùy chọn truy cập chức năng từ bất kỳ trang nào, hãy thử tắt chức năng đó (bit 'trang bất kỳ' Từ màn hình ứng dụng Google MENU> CÀI ĐẶT> VOICE> "OK GOOGLE DETECTION" > TỪ MỌI MÀN HÌNH = TẮT): nó chiếm đoạt micrô hoặc có thể thực hiện.

Các vấn đề liên quan