I have code: private MediaRecorder recorder; > > String hostname = "192.168.1.125"; > int port = 1935; > Socket socket; > ParcelFileDescriptor pfd; > public void start() > { > > try { > socket = new Socket(InetAddress.getByName(hostname), port); > pfd = ParcelFileDescriptor.fromSocket(socket); > > } catch (UnknownHostException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (IOException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } > > recorder.setOutputFile(pfd.getFileDescriptor()); > // String filename = String.format("/sdcard/%d.mp4", > System.currentTimeMillis()); > // > // recorder.setOutputFile(filename); > > try > { > recorder.prepare(); > recorder.start(); > } > catch (IllegalStateException e) > { > e.printStackTrace(); > } > catch (IOException e) > { > e.printStackTrace(); > } > }
*and Server side:* import java.io.DataInputStream; > import java.io.FileOutputStream; > import java.io.IOException; > import java.io.InputStream; > import java.net.ServerSocket; > import java.net.Socket; > > public class Server { > > public static void main(String[] args) > { > > try > { > System.out.println("create sock"); > ServerSocket svsock = new ServerSocket(1935); > > System.out.println("accept"); > Socket sock = svsock.accept(); > System.out.println("buffer read"); > > FileOutputStream outFile = null; > > String filename = String.format("%d.mp4", System.currentTimeMillis()); > > try { > outFile = new > FileOutputStream(filename); > System.out.println(filename); > } catch (IOException e1) { > e1.printStackTrace(); > } > > InputStream is = new > DataInputStream(sock.getInputStream()); > byte[] byteBuffer = new byte[1024]; > > int allsize = 0; > while(sock.isConnected()) { > > int size = is.read(byteBuffer); > if (size == -1){ > break; > } else { > > outFile.write(byteBuffer, 0, size); > } > allsize += size; > > } > System.out.println("close size=" + > allsize); > outFile.close(); > sock.close(); > > } > catch(Exception e) > { > e.printStackTrace(); > } > > System.out.println("endmain"); > } > } I test it on *Android 2.2.2 (HTC quiet brilliant) *and all works fine. When I press "start" button Server create file and record data from stream to file. After this file is normally play in VLC player and etc. But when I test it on *Android 4.0.4 Galaxy S2 *and *Android 4.0.4 HTC*(sorry, forget model), Server create file and record data from stream to file but not play in VLC (and other players too) and give me error mp4 error: MP4 plugin discarded (no moov,foov,moof box) > avcodec error: Could not open �codec demux error: Specified event object > handle is invalid > ps error: cannot peek > main error: no suitable demux module for `file/:///C:/1345461283455.mp4' I also try to upload this file to youtube, but after upload youtube give me error like file format is unsupported. But *Android 4.0.4 Galaxy S2 *and *Android 4.0.4 HTC* succesfully create and then play file when I save it on phone memory (not stream to server) I think problem maybe on server side, or something changed on android 4.0.4. Please, help me. Thanks in advance. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en