2011-09-06 42 views
8

Kết quả có thể là "luồng" của MediaRecorder?Android MediaRecorder trong khi phát trực tuyến

Phương pháp duy nhất tôi có thể xem là mediaRecorder.setOutputFile nhận tệp FileDescriptor. Vì vậy, tôi có thể viết kết quả cho một tập tin hoặc gửi qua ổ cắm để nhận.

Tôi đã thử giải pháp thứ hai nhưng video kết quả bị hỏng vì không tìm thấy "trong luồng".

Ý tưởng là sử dụng máy ảnh thiết bị Android để xuất bản kết quả lên Red5.

Trả lời

2

Có, có thể, có nhiều ví dụ cho điều đó. Bạn có thể kiểm tra ví dụ sipdroid. Hoặc thậm chí Android IP camera đơn giản hơn nhiều.

Chúc may mắn

+1

[Đây là] (http://code.google.com/p/ipcamera-for-android/source/browse/trunk/droidipcam/src/teaonly /projects/droidipcam/StreamingLoop.java) mã có liên quan. Dường như sử dụng một ổ cắm unix looped back để lấy dữ liệu. Hơi hack nhưng không quá nhiều tôi nghĩ. – Timmmm

1

Có thể thực hiện được. Đây là đoạn mã mẫu với đặc tả tập tin và ổ cắm:

socket = new Scoket("192.168.1.234",8888); 
    ParcelFileDescriptor fileDescriptor = PercelFileDescriptor.fromSocket(socket); 

    mRecorder = new MediaRecorder(); 
    mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    mRecorder.setOutputFile(fileDescriptor.getFileDescriptor); 
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

    try { 
     mRecorder.prepare(); 
    } catch (IOException e) { 
     Log.e(LOG_TAG, "prepare() failed"); 
    } 

    mRecorder.start(); 
Các vấn đề liên quan