Actualmente estoy trabajando en la transmisión de video entre dos teléfonos con Android. Escribí una aplicación que puede grabar el video en el archivo sd (usando MediaRecorder); y escribí otra aplicación que puede mostrar el video del archivo. Ambas aplicaciones funcionan perfectamente.Transmisión de video en vivo entre dos teléfonos Android
Encontré un sitio web sobre "Transmitir video con Android - sin escribir en archivos locales" en el siguiente sitio web. Es exactamente lo que quería hacer.
he modificado mi código.
Para que la grabadora de vídeo, es:
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();
Para Reproductor de vídeo:
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();
aplastamiento Programa de mMediaPlayer.setDataSource(pfd.getFileDescriptor());
en MediaPlayer sé que no me gustó la configuración del origen de datos correctamente. Debe haber configuraciones adicionales para ParcelFileDescriptor para poner en MediaPlayer.
¿Alguien sabe cómo usar ParcelFileDescriptor para MediaPlayer? Algún consejo útil o consejos sería bueno ......
Gracias
Será
¿Lo tienes trabajo? – B770
¿funciona para usted? si funciona, por favor dime cómo resolver este problema. – Aravi
Me encantaría saber si usted también lo descubrió. tengo exactamente el mismo problema y la respuesta a continuación no ayuda – steveh