Obecnie pracuję nad strumieniowym przesyłaniem wideo między dwoma telefonami z Androidem. Napisałem aplikację, która jest w stanie nagrać wideo do pliku SD (przy użyciu MediaRecorder); i napisałem kolejną aplikację, która jest w stanie wyświetlić wideo pliku. Obie aplikacje działają doskonale.Strumień wideo na żywo między dwoma telefonami z Androidem
Znalazłem stronę internetową na temat "Transmisja wideo z systemem Android - bez zapisywania do plików lokalnych" w następującej witrynie. Dokładnie to chciałem zrobić.
zmodyfikowałem mój kod.
Dla magnetowidu, to:
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();
Dla Odtwarzacz wideo:
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();
Program zgniatać na mMediaPlayer.setDataSource(pfd.getFileDescriptor());
na MediaPlayer wiem strzału skonfigurować DataSource poprawnie. Muszą być dodatkowe ustawienia dla ParcelFileDescriptor, aby umieścić je w MediaPlayer.
Czy ktoś wie, jak używać ParcelFileDescriptor dla MediaPlayer? Wszelkie pomocne doradztwo lub porady byłoby miło ......
Dziękuję
Will
Dostałeś to działa? – B770
czy to działa dla Ciebie? jeśli to działa, plz powiedz mi, jak rozwiązać ten problem. – Aravi
Chciałbym wiedzieć, czy to też wymyśliłeś. Mam dokładnie ten sam problem, a poniższa odpowiedź nie pomaga – steveh