2011-11-15 46 views
5

Vì Android API 12, RTP được hỗ trợ trong SDK, bao gồm RtpStream làm lớp cơ sở và AudioStream, AudioCodec và AudioGroup. Tuy nhiên, không có tài liệu, ví dụ hoặc hướng dẫn nào để giúp tôi sử dụng các API cụ thể này để lấy dữ liệu đầu vào từ micrô của thiết bị và đưa nó vào luồng RTP.Sử dụng ví dụ Android của RtpStream

Tôi chỉ định bằng micrô làm nguồn ở đâu và không sử dụng loa? Nó có thực hiện bất kỳ RTCP nào không? Tôi có thể mở rộng lớp cơ sở RtpStream để tạo lớp VideoStream của riêng mình (lý tưởng là tôi cũng muốn sử dụng lớp này để phát trực tuyến video) không?

Có bất kỳ trợ giúp nào trên các API mới (ish) này không?

Trả lời

2

Thật không may các API này là trình bao bọc cần thiết mỏng nhất xung quanh mã gốc thực hiện công việc thực tế. Điều này có nghĩa là chúng không thể được mở rộng trong java, và để mở rộng chúng trong C++, bạn sẽ phải có một phiên bản Android tùy chỉnh mà tôi tin tưởng.

Theo tôi có thể thấy AudioGroup không thực sự được đặt thành âm thanh đầu ra.

Tôi không tin RTCP thực sự nhưng việc sử dụng RTCP của tôi không liên quan đến RTCP nên tôi không biết.

Lời khuyên của tôi là nếu bạn muốn có thể mở rộng chức năng hoặc linh hoạt hơn, bạn nên tìm thư viện gốc C hoặc C++ mà ai đó đã viết hoặc chuyển sang Android và sử dụng thay vào đó, điều này sẽ cho phép bạn kiểm soát âm thanh sử dụng và thêm video trực tuyến và các tiện ích mở rộng khác như vậy.

+1

Bạn có thể tắt tiếng cả loa và micrô qua audioGroup = new AudioGroup(); audioGroup.setMode (AudioGroup.MODE_ON_HOLD); – tristan2468

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