Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.79 KB | None | 0 0
  1. // Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
  2. // Jad home page: http://www.geocities.com/kpdus/jad.html
  3. // Decompiler options: braces fieldsfirst space lnc
  4.  
  5. package skype;
  6.  
  7. import android.hardware.Camera;
  8. import android.media.CamcorderProfile;
  9. import android.media.MediaRecorder;
  10. import android.os.Handler;
  11. import android.os.Looper;
  12. import android.os.Message;
  13. import java.io.File;
  14. import java.util.logging.Logger;
  15.  
  16. // Referenced classes of package com.skype.android.media:
  17. // Camcorder, CameraControl, DeviceProfile, SurfaceWrapper,
  18. // CamcorderCallback, Size
  19.  
  20. public class MediaRecorderCamcorder
  21. implements MediaRecorder.OnErrorListener, MediaRecorder.OnInfoListener, Handler.Callback, Camcorder
  22. {
  23.  
  24. protected static Logger a = Logger.getLogger("SkypeMedia");
  25. private CameraControl cameraControl;
  26. private DeviceProfile deviceProfile;
  27. private CamcorderCallback camcorderCallback;
  28. private MediaRecorder mediaRecorder;
  29. private File file;
  30. private boolean isRecording;
  31. private int maxDuration;
  32. private int audioSource;
  33. private Handler j;
  34. private int videoBitrate;
  35. private int audioBitrate;
  36.  
  37. public MediaRecorderCamcorder(CameraControl cameracontrol, DeviceProfile deviceprofile)
  38. {
  39. videoBitrate = -1;
  40. audioBitrate = -1;
  41. cameraControl = cameracontrol;
  42. deviceProfile = deviceprofile;
  43. audioSource = 5;
  44. j = new Handler(Looper.getMainLooper(), this);
  45. }
  46.  
  47. private void releaseMediaRecorder()
  48. {
  49. if (mediaRecorder == null)
  50. {
  51. break MISSING_BLOCK_LABEL_38;
  52. }
  53. if (isRecording)
  54. {
  55. mediaRecorder.stop();
  56. }
  57. mediaRecorder.release();
  58. mediaRecorder = null;
  59. isRecording = false;
  60. return;
  61. IllegalStateException illegalstateexception;
  62. illegalstateexception;
  63. illegalstateexception.printStackTrace();
  64. throw new RuntimeException(illegalstateexception);
  65. Exception exception;
  66. exception;
  67. mediaRecorder.release();
  68. mediaRecorder = null;
  69. throw exception;
  70. }
  71.  
  72. public final void a()
  73. {
  74. releaseMediaRecorder();//Release
  75. int cameraId = cameraControl.j(); //ID de la cámara
  76. CamcorderProfile camcorderprofile = deviceProfile.a(deviceProfile, cameraId); //Carga perfil en orden 480P>high>QVGA>LOW según disponibilidad
  77. if (maxDuration > 0)
  78. {
  79. camcorderprofile.duration = maxDuration;
  80. }
  81. mediaRecorder = new MediaRecorder();
  82. mediaRecorder.setOnErrorListener(this);
  83. mediaRecorder.setOnInfoListener(this);
  84. Camera camera = cameraControl.h();//Abre la cámara
  85. camera.unlock();
  86. mediaRecorder.setCamera(camera);
  87. mediaRecorder.setAudioSource(audioSource); //Camcorder
  88. mediaRecorder.setVideoSource(1); //Camera
  89. Camera.Parameters parameters = cameraControl.l(); //Saca los parámetros de la cámara
  90. if (videoBitrate > 0)
  91. {
  92. camcorderprofile.videoBitRate = videoBitrate;
  93. }
  94. if (audioBitrate > 0)
  95. {
  96. camcorderprofile.audioBitRate = audioBitrate;
  97. }
  98. deviceProfile.a(camcorderprofile, parameters);
  99. mediaRecorder.setProfile(camcorderprofile);
  100. mediaRecorder.setOrientationHint(cameraControl.n());
  101. if (!deviceProfile.a())
  102. {
  103. android.view.Surface surface = cameraControl.m().a();
  104. mediaRecorder.setPreviewDisplay(surface);
  105. }
  106. if (file.exists())
  107. {
  108. try
  109. {
  110. if (!file.delete())
  111. {
  112. a.warning((new StringBuilder("delete ")).append(file.getAbsolutePath()).append(" returned false").toString());
  113. }
  114. }
  115. catch (Exception exception1)
  116. {
  117. exception1.printStackTrace();
  118. if (camcorderCallback != null)
  119. {
  120. camcorderCallback.onException(exception1);
  121. }
  122. }
  123. }
  124. mediaRecorder.setOutputFile(file.getAbsolutePath());
  125. try
  126. {
  127. mediaRecorder.prepare();
  128. }
  129. catch (Exception exception)
  130. {
  131. exception.printStackTrace();
  132. if (camcorderCallback != null)
  133. {
  134. camcorderCallback.onException(exception);
  135. }
  136. }
  137. mediaRecorder.start();
  138. isRecording = true;
  139. }
  140.  
  141. public final void b()
  142. {
  143. releaseMediaRecorder();
  144. j.removeMessages(3);
  145. j.sendEmptyMessageDelayed(3, 200L);
  146. }
  147.  
  148. public boolean handleMessage(Message message)
  149. {
  150. switch (message.what)
  151. {
  152. default:
  153. return false;
  154.  
  155. case 3: // '\003'
  156. break;
  157. }
  158. if (file != null && file.exists())
  159. {
  160. a.info((new StringBuilder("recorded: ")).append(file.getAbsolutePath()).toString());
  161. if (camcorderCallback != null)
  162. {
  163. camcorderCallback.onFileRecorded(file);
  164. file = null;
  165. }
  166. }
  167. return true;
  168. }
  169.  
  170. public void onError(MediaRecorder mediarecorder, int i1, int j1)
  171. {
  172. Logger logger = a;
  173. Object aobj[] = new Object[2];
  174. aobj[0] = Integer.valueOf(i1);
  175. aobj[1] = Integer.valueOf(j1);
  176. logger.warning(String.format("onError %d %d", aobj));
  177. if (camcorderCallback != null)
  178. {
  179. camcorderCallback.onError(i1);
  180. }
  181. }
  182.  
  183. public void onInfo(MediaRecorder mediarecorder, int i1, int j1)
  184. {
  185. Logger logger = a;
  186. Object aobj[] = new Object[2];
  187. aobj[0] = Integer.valueOf(i1);
  188. aobj[1] = Integer.valueOf(j1);
  189. logger.info(String.format("onInfo %d %d", aobj));
  190. }
  191.  
  192. public void setAudioBitRate(int i1)
  193. {
  194. audioBitrate = i1;
  195. }
  196.  
  197. public void setAudioSource(int i1)
  198. {
  199. audioSource = i1;
  200. }
  201.  
  202. public void setCamcorderCallback(CamcorderCallback camcordercallback)
  203. {
  204. camcorderCallback = camcordercallback;
  205. }
  206.  
  207. public void setCameraFacing(int i1)
  208. {
  209. }
  210.  
  211. public void setMaxDuration(int i1)
  212. {
  213. maxDuration = i1;
  214. }
  215.  
  216. public void setRecordingFile(File file)
  217. {
  218. if (file == null)
  219. {
  220. throw new IllegalArgumentException("null file");
  221. } else
  222. {
  223. this.file = file;
  224. return;
  225. }
  226. }
  227.  
  228. public void setTargetVideoSize(Size size)
  229. {
  230. }
  231.  
  232. public void setVideoBitRate(int i1)
  233. {
  234. videoBitrate = i1;
  235. }
  236.  
  237. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement