Attualmente sto lavorando allo streaming video tra due telefoni Android. Ho scritto un'applicazione che è in grado di registrare il video sul file SD (utilizzando MediaRecorder); e ho scritto un'altra applicazione che è in grado di visualizzare il video del file. Entrambe le applicazioni funzionano perfettamente.Streaming video live tra due telefoni Android
Ho trovato un sito Web su "Trasmissione di video con Android - senza scrittura su file locali" nel seguente sito Web. È esattamente quello che volevo fare.
ho modificato il mio codice.
Per il videoregistratore, è:
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();
Per 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();
cotta Programma su mMediaPlayer.setDataSource(pfd.getFileDescriptor());
sul MediaPlayer so che didnt impostare il DataSource in modo corretto. Ci devono essere impostazioni aggiuntive per ParcelFileDescriptor da inserire in MediaPlayer.
Qualcuno sa come usare ParcelFileDescriptor per MediaPlayer? Qualsiasi consiglio utile o suggerimenti sarebbe bello ......
Thank You
Will
hai preso a lavorare? – B770
è quello che funziona per te? se funziona, per favore dimmi come risolvere questo problema. – Aravi
mi piacerebbe sapere se hai capito anche questo. Ho esattamente lo stesso problema e la risposta qui sotto non aiuta – steveh