Tôi hiện đang làm việc trên truyền video giữa hai điện thoại Android. Tôi đã viết một ứng dụng có thể ghi video vào tệp sd (Sử dụng MediaRecorder); và tôi đã viết một ứng dụng khác có thể hiển thị video của tệp. Cả hai ứng dụng hoạt động hoàn hảo.Phát trực tiếp video trực tiếp giữa hai điện thoại Android
Tôi đã tìm thấy trang web về "Phát video với Android - mà không cần phải ghi vào tệp cục bộ" trong trang web sau. Đó chính là điều tôi muốn làm.
Tôi đã sửa đổi mã của mình.
Đối với máy ghi hình, nó là:
socket=severSocket.accept();
ParcelFileDescriptor=pfd;
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
recorder.setVideoFrameRate(15);
recorder.setVideoSize(320, 240);
recorder.setPreviewDisplay(holder.getSurface());
pfd = ParcelFileDescriptor.fromSocket(socket);
recorder.setOutputFile(pfd.getFileDescriptor());
recorder.prepare();
recorder.start();
Đối với Video Player:
Socket socket = new Socket(IP,PORT);
mMediaPlayer = new MediaPlayer();
pfd = ParcelFileDescriptor.fromSocket(socket);
mMediaPlayer.setDataSource(pfd.getFileDescriptor()); // <-- here is the problem
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.start();
Chương trình lòng mMediaPlayer.setDataSource(pfd.getFileDescriptor());
trên MediaPlayer Tôi biết tôi didnt thiết lập DataSource một cách chính xác. Phải có các thiết lập bổ sung cho ParcelFileDescriptor để đưa vào MediaPlayer.
Có ai biết cách sử dụng ParcelFileDescriptor cho MediaPlayer không? Bất kỳ lời khuyên hữu ích hoặc lời khuyên sẽ được tốt đẹp ......
cảm ơn
sẽ
Bạn có được nó làm việc? – B770
có phù hợp với bạn không? nếu nó đang làm việc, plz cho tôi biết làm thế nào để giải quyết vấn đề này. – Aravi
tôi rất muốn biết nếu bạn đã tìm ra điều này. tôi có chính xác cùng một vấn đề và câu trả lời dưới đây không giúp đỡ – steveh