2013-01-24 46 views
8

Tôi đang cố gắng sử dụng WebRTC đầu của mình. Tôi cần có khả năng thu và phát trực tiếp âm thanh qua trình duyệt web.WebRTC Phát trực tiếp âm thanh/phát sóng

Tôi chỉ gặp khó khăn khi tìm các ví dụ mã mà tôi có thể hiểu hoặc cập nhật. Nếu bất cứ ai có thể giúp tôi chỉ với lần đầu tiên bắt và chơi âm thanh trong cùng một trình duyệt với HTML5/WebRTC, tôi nghĩ điều đó sẽ giúp tôi bắt đầu và trên đường đi.

Lưu ý: Tôi chỉ quan tâm đến việc làm việc này trong Chrome (hoặc Chrome Canary cho vấn đề đó!).

Cảm ơn bạn đã trợ giúp!

Trả lời

12

HTML5 Rocks article on WebRTC có lẽ là bài viết giới thiệu tốt nhất giải thích mọi thứ theo thuật ngữ của giáo dân.

Để chỉ cần quay video/âm thanh cục bộ, bạn sẽ muốn tập trung vào API MediaStream (ví dụ: getUserMedia). Một khi bạn nhận được rằng làm việc, sau đó bạn sẽ cần phải bắt đầu nhìn vào API RTCPeerConnection.

Mã phía máy khách cho API RTCPeerConnection khá đơn giản, nhưng mã phía máy chủ được yêu cầu để báo hiệu (tức là thiết lập kết nối ngang hàng) có thể phức tạp.

Tôi đã kết thúc mã hóa giải pháp phía máy chủ của riêng mình trong PHP, nhưng để làm như vậy, tôi mất khoảng ba tuần đập đầu vào tường (tức là cố gắng giải mã WebSocket specs) để nó hoạt động bình thường. Nếu bạn muốn xem mã thực tế, tôi có thể đăng một số mã làm việc của mình.

Nếu bạn chuẩn bị thử thách, tôi khuyên bạn nên tự mình viết mã phía máy chủ, nhưng nếu không, tôi sẽ xem xét các thư viện WebSocket như Socket.IO, thực hiện tất cả các công cụ phía máy chủ phức tạp cho bạn .

+1

Tôi cũng thích bài viết về HTML5 Rocks;). (Vui lòng thêm nhận xét vào nó, nếu có gì không rõ ràng, không chính xác hoặc không có ý nghĩa.) Tôi cũng duy trì hướng dẫn về tài nguyên WebRTC tại http://docs.webplatform.org/wiki/tutorials/webrtc_resources. Hầu hết tất cả, hãy xem qua HTML5 Rocks walkthrough của ví dụ đơn giản WCPC RTCPeerConnection đơn giản để có được đầu của bạn xung quanh tín hiệu so với phương tiện truyền thông/truyền thông dữ liệu. Về phía máy chủ, bạn có thể muốn sử dụng Node.js với WebSocket, sử dụng Socket.IO như HartleySan gợi ý. –

+0

@Sam Dutton, cảm ơn vì đã viết bài viết đó. Tôi thậm chí không biết WebRTC là một thực tế cho đến khi tôi đọc bài viết của bạn. Điều khiến tôi bối rối nhất là tín hiệu. Tôi nghĩ rằng một chút thông tin về điều đó sẽ hữu ích. Cảm ơn. – HartleySan

+0

Cảm ơn @HartleySan. Tôi đã cập nhật bài viết vào tháng trước, vì vậy có nhiều thông tin hơn về tín hiệu, nhưng tôi sẽ cố gắng cung cấp thêm một số thông tin. –

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