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

清单:Android的媒体记录准备失败

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" 

我总是得到错误prepare failed: -1

此代码的Android> 2.2,对三星Galaxy S2

回答

0

打开核心测试 -

recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 

,并设置 -

recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);