2013-07-22 43 views
11

Tôi đang sử dụng recorder.jsgetUserMedia để thực hiện một số bản ghi âm trong trình duyệt. Khi bắt đầu ghi hình, người dùng được đưa ra "Cho phép trang web này sử dụng micrô của bạn" nhanh chóng, và một khi họ bấm cho phép, Chrome thêm một chỉ số vào favicon của tab để hiển thị rằng nó được ghi:Cách hủy chỉ báo getUserMedia sau khi ghi

Recording indicator http://ubuntuone.com/1nBkbmc9vA313WeWtV03Kz

Vấn đề của tôi là chỉ báo không bao giờ biến mất, ngay cả sau khi ứng dụng của tôi đã ngừng ghi. Về cơ bản, tôi muốn thu hồi quyền ghi âm của riêng mình. Điều này có thể không?

Trả lời

10

Khi bạn tạo đối tượng MediaStream mới từ cuộc gọi getUserMedia, nó chứa đối tượng MediaStreamTrack.

Gọi MediaStream.getAudioTracks() phải trả về một chuỗi đại diện cho ảnh chụp nhanh của tất cả các đối tượng MediaStreamTrack trong luồng với loại "audio". Điều tương tự cũng áp dụng khi gọi số MediaStream.getVideoTracks() để truy xuất các đối tượng theo dõi video.

Theo thông số kỹ thuật, có vẻ như bạn có thể thu hồi tất cả các quyền nhất định cho ứng dụng của mình bằng cách gọi MediaStreamTrack.stop() trên đối tượng bản âm thanh.

Nguồn: Media Capture and Stream API spec

+0

Tuyệt vời, cảm ơn! Nó cũng có vẻ như chỉ cần gọi 'mediaStream.stop()' hoạt động, mà không nhận được các bài hát. – nickf

+0

Ồ, tuyệt vời! Tốt để biết! – mattfieldy

+0

Thật thú vị, mặc dù điều này loại bỏ các chỉ số từ favicon, ghi âm thực sự có thể tiếp tục ... – nickf