Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android媒体录制器准备失败_Android_Video Streaming_Android Camera_Android Mediarecorder - Fatal编程技术网

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);