返回顶部
首页 > 资讯 > 精选 >java中如何初始化MediaRecorder
  • 546
分享到

java中如何初始化MediaRecorder

javamediarecorder 2023-05-30 23:05:28 546人浏览 泡泡鱼
摘要

小编给大家分享一下java中如何初始化MediaRecorder,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!java中初始化MediaRecorder实现代码:

小编给大家分享一下java中如何初始化MediaRecorder,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

java中初始化MediaRecorder

实现代码:

private boolean initializeVideo() {      Log.v(TAG, "initializeVideo");           if (mSurfaceHolder == null) {        Log.v(TAG, "SurfaceHolder is null");        return false;      }       mMediaRecorderRecording = true;       if (mMediaRecorder == null)          mMediaRecorder = new MediaRecorder();      else         mMediaRecorder.reset();      if (mCamera != null) {          if (Integer.parseInt(Build.VERSioN.SDK) >= 8)              VideoCameraNew2.reconnect(mCamera);          mCamera.release();          mCamera = null;      }       if (useFront && Integer.parseInt(Build.VERSION.SDK) >= 5) {              if (isAvailableSprintFFC)              {                  try                 {                      Method method = Class.forName("Android.hardware.HtcFrontFacinGCamera").getDeclaredMethod("getCamera", null);                      mCamera = (Camera) method.invoke(null, null);                  }                  catch (Exception ex)                  {                      Log.d(TAG, ex.toString());                  }              } else {                  mCamera = Camera.open();                  Camera.Parameters parameters = mCamera.getParameters();                  parameters.set("camera-id", 2);                  mCamera.setParameters(parameters);              }              VideoCameraNew.unlock(mCamera);              mMediaRecorder.setCamera(mCamera);          mVideoPreview.setOnClickListener(this);      }      mVideoPreview.setOnLongClickListener(this);      mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);      mMediaRecorder.setOutputFORMat(MediaRecorder.OutputFormat.THREE_GPP);      mMediaRecorder.setOutputFile(sender.getFileDescriptor());           mMediaRecorder.setVideoFrameRate(20);      if (videoQualityHigh) {        mMediaRecorder.setVideoSize(352,288);      } else {        mMediaRecorder.setVideoSize(176,144);      }      mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);      mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());       try {        mMediaRecorder.prepare();        mMediaRecorder.setOnErrorListener(this);        mMediaRecorder.start();      } catch (IOException exception) {        releaseMediaRecorder();        finish();        return false;      }      return true;    }
private boolean initializeVideo() {     Log.v(TAG, "initializeVideo");          if (mSurfaceHolder == null) {       Log.v(TAG, "SurfaceHolder is null");       return false;     }      mMediaRecorderRecording = true;      if (mMediaRecorder == null)         mMediaRecorder = new MediaRecorder();     else         mMediaRecorder.reset();     if (mCamera != null) {         if (Integer.parseInt(Build.VERSION.SDK) >= 8)             VideoCameraNew2.reconnect(mCamera);         mCamera.release();         mCamera = null;     }      if (useFront && Integer.parseInt(Build.VERSION.SDK) >= 5) {             if (isAvailableSprintFFC)             {                 try                 {                     Method method = Class.forName("android.hardware.HtcFrontFacingCamera").getDeclaredMethod("getCamera", null);                     mCamera = (Camera) method.invoke(null, null);                 }                 catch (Exception ex)                 {                     Log.d(TAG, ex.toString());                 }             } else {                 mCamera = Camera.open();                  Camera.Parameters parameters = mCamera.getParameters();                  parameters.set("camera-id", 2);                  mCamera.setParameters(parameters);              }             VideoCameraNew.unlock(mCamera);             mMediaRecorder.setCamera(mCamera);         mVideoPreview.setOnClickListener(this);     }     mVideoPreview.setOnLongClickListener(this);     mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);     mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);     mMediaRecorder.setOutputFile(sender.getFileDescriptor());          mMediaRecorder.setVideoFrameRate(20);     if (videoQualityHigh) {       mMediaRecorder.setVideoSize(352,288);     } else {       mMediaRecorder.setVideoSize(176,144);     }     mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);     mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());      try {       mMediaRecorder.prepare();       mMediaRecorder.setOnErrorListener(this);       mMediaRecorder.start();     } catch (IOException exception) {       releaseMediaRecorder();       finish();       return false;     }     return true;   }
private void releaseMediaRecorder() {      Log.v(TAG, "Releasing media recorder.");      if (mMediaRecorder != null) {        mMediaRecorder.reset();        if (mCamera != null) {              if (Integer.parseInt(Build.VERSION.SDK) >= 8)                  VideoCameraNew2.reconnect(mCamera);              mCamera.release();              mCamera = null;        }        mMediaRecorder.release();        mMediaRecorder = null;      }    }          public void onError(MediaRecorder mr, int what, int extra) {      if (what == MediaRecorder.MEDIA_RECORDER_ERROR_UNKNOWN) {        finish();      }    }
private void releaseMediaRecorder() {     Log.v(TAG, "Releasing media recorder.");     if (mMediaRecorder != null) {       mMediaRecorder.reset();       if (mCamera != null) {             if (Integer.parseInt(Build.VERSION.SDK) >= 8)                 VideoCameraNew2.reconnect(mCamera);             mCamera.release();             mCamera = null;       }       mMediaRecorder.release();       mMediaRecorder = null;     }   }        public void onError(MediaRecorder mr, int what, int extra) {     if (what == MediaRecorder.MEDIA_RECORDER_ERROR_UNKNOWN) {       finish();     }   }
private void stopVideoRecording() {      Log.v(TAG, "stopVideoRecording");      if (mMediaRecorderRecording || mMediaRecorder != null) {          Receiver.listener_video = null;          t.interrupt();        RtpStreamSender.delay = 0;         if (mMediaRecorderRecording && mMediaRecorder != null) {          try {            mMediaRecorder.setOnErrorListener(null);            mMediaRecorder.setOnInfoListener(null);            mMediaRecorder.stop();          } catch (RuntimeException e) {            Log.e(TAG, "stop fail: " + e.getMessage());          }           mMediaRecorderRecording = false;        }        releaseMediaRecorder();      }    }

以上是“java中如何初始化MediaRecorder”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: java中如何初始化MediaRecorder

本文链接: https://lsjlt.com/news/222138.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java中如何初始化MediaRecorder
    小编给大家分享一下java中如何初始化MediaRecorder,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!java中初始化MediaRecorder实现代码:...
    99+
    2023-05-30
    java mediarecorder
  • java数组如何初始化?
    Java语言中数组必须先初始化,然后才可以使用。所谓初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值: ● 基本数据类型的整数类型(byte、short...
    99+
    2018-03-13
    java教程 java 数组 初始化
  • java 如何初始化数组
    一、什么是初始化在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用该数组变量来访问数组元素。所谓数组初始化就...
    99+
    2018-10-10
    java入门 java 初始化 数组
  • java数组如何初始化
    Java语言中数组必须先初始化,然后才可以使用。所谓初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值:基本数据类型的整数类型(byte、short、in...
    99+
    2020-04-23
    java入门 java 数组 初始化
  • java如何初始化数组
    什么是初始化在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用该数组变量来访问数组元素。 (推荐学习:j...
    99+
    2017-08-16
    java教程 java
  • JAVA哈希表如何初始化
    在Java中,可以使用HashMap类来初始化哈希表。HashMap类是Java集合框架中的一部分,它实现了Map接口,并且基于哈希...
    99+
    2023-09-09
    JAVA
  • Java中的对象是如何初始化的
    对象初始化的过程:一:初始化类首先创建某个对象时:Dog dog = new Dog();首次访问某个类的静态方法或者静态字段时:Dog.staticFields;Java 解释器就会去找类的路径,定位已经编译好的 Dog.class 文件...
    99+
    2020-06-07
    Java 对象 初始化
  • 如何在Java中初始化二维数组
    本篇文章给大家分享的是有关如何在Java中初始化二维数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。常用的java框架有哪些1.SpringMVC,Spring Web MV...
    99+
    2023-06-14
  • 如何在Java中静态初始化数组
    这期内容当中小编将会给大家带来有关如何在Java中静态初始化数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客...
    99+
    2023-06-14
  • Servlet如何初始化
    这篇文章主要为大家展示了“Servlet如何初始化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Servlet如何初始化”这篇文章吧。有时候,我们需要仅仅是在服务启动,而非其他更为复杂的定时任务...
    99+
    2023-06-17
  • Hibernate如何初始化
    小编给大家分享一下Hibernate如何初始化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hibernate有两种配置文件格式,一种是XML,默认为hibern...
    99+
    2023-06-17
  • win10如何初始化
    这篇文章主要介绍“win10如何初始化”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10如何初始化”文章能帮助大家解决问题。首先点击左下角开始菜单,打开“设置” 接着进入其中“更新和安全”选项...
    99+
    2023-07-02
  • eclipse如何初始化
    要初始化Eclipse,您可以按照以下步骤操作:1. 下载并安装Eclipse:首先,您需要从Eclipse官方网站下载适合您操作系...
    99+
    2023-08-29
    eclipse
  • C#中如何初始化对象
    C#中如何初始化对象,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体示例如下:classPoint  {  publicintX{...
    99+
    2023-06-17
  • C#中如何初始化数组
    这篇文章给大家介绍C#中如何初始化数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#数组初始化int[] iArray = new int[3]{2, 3, 4} 花括号被称为数组初始化器,数组初始化器只能在声明数...
    99+
    2023-06-17
  • java初始化分析
    关于初始化的一点体会 [@more@]class Egg2 {static int i=5; int j=5; static//父类静态变量初始化块首先被执行,在main方法之前。 { System.out.println("superCl...
    99+
    2023-06-03
  • java的calendar类如何初始化日历
    Calendar类有两种方法可以初始化日历:1. 通过getInstance()方法初始化当前日期和时间的日历实例:```javaC...
    99+
    2023-09-13
    java
  • Java中实例初始化和静态初始化的过程详解
    目录一、实例初始化1.1 实例初始化过程1.2 实例初始化的顺序1.3 实例初始化的注意事项二、静态初始化2.1 静态初始化过程2.2 静态初始化的顺序2.3 静态初始化的注意事项三...
    99+
    2023-05-18
    Java实例初始化和静态初始化 Java实例初始化 Java静态初始化 Java初始化
  • Java中怎样初始化数组
    本篇文章给大家分享的是有关Java中怎样初始化数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一个数组的示例让我们在 Java 中创建一个长度为 10 的整型数组:int[]...
    99+
    2023-06-16
  • Java中怎么实现初始化
    Java中怎么实现初始化,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、静态块优先程序首先会执行静态块的内容,这也就有了不写main方法就跑hello wor...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作