Android媒体录制器准备失败
舱单:Android媒体录制器准备失败,android,video-streaming,android-camera,android-mediarecorder,Android,Video Streaming,Android Camera,Android Mediarecorder,舱单: sock = new Socket(); sock.connect(new InetSocketAddress(addr, port), 2000); if(!sock.isConnected()) return false; file = ParcelFileDescriptor.fromSocket(sock); camera = Camera.open(); if(camera == null) return false; camera.unlock(); recorder
sock = new Socket();
sock.connect(new InetSocketAddress(addr, port), 2000);
if(!sock.isConnected()) return false;
file = ParcelFileDescriptor.fromSocket(sock);
camera = Camera.open();
if(camera == null) return false;
camera.unlock();
recorder = new MediaRecorder();
recorder.setCamera(camera);
recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
recorder.setOutputFile(file.getFileDescriptor());
recorder.setPreviewDisplay(preview.getHolder().getSurface());// SurfaceView preview
recorder.prepare();
我总是收到错误准备失败:-1
此代码适用于android>2.2,在三星Galaxy S2上测试
uses-permission android:name="android.permission.INTERNET"
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
uses-permission android:name="android.permission.CAMERA"
uses-permission android:name="android.permission.RECORD_AUDIO"
uses-feature android:name="android.hardware.camera"
并设置它-
recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);