当前位置: 首页 > news >正文

陕西恒立建设集团网站2022年企业年报网上申报流程

陕西恒立建设集团网站,2022年企业年报网上申报流程,wordpress redis插件,销售机械设备做网站安卓使用MediaRecorder录制音频的详细使用 文章目录 安卓使用MediaRecorder录制音频的详细使用引言使用 MediaRecorder 的步骤常见问题及解决思路无法访问存储卡目录录制的音频文件没有声音录制过程中出现异常MediaRecorder无法正常启动录制的音质或者画质很差录制的文件无法播…安卓使用MediaRecorder录制音频的详细使用 文章目录 安卓使用MediaRecorder录制音频的详细使用引言使用 MediaRecorder 的步骤常见问题及解决思路无法访问存储卡目录录制的音频文件没有声音录制过程中出现异常MediaRecorder无法正常启动录制的音质或者画质很差录制的文件无法播放 结语 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/134599828 最新更新地址 https://gitee.com/chenjim/chenjimblog 引言 在Android开发过程中我们经常需要处理音频或视频相关的功能。比如我们要做一个简单的录音机或者录像机。 在Android中录制音频有两种方式MediaRecorder和AudioRecord。两者的主要区别在于 MediaRecorder提供了一种更高级别的API能够直接录制并保存为特定的媒体文件格式如MP3、AAC、AMR等。其底层实际也使用了AudioRecord。AudioRecord提供了更底层的API可以让我们自定义更多关于音频采样率、通道数等参数。但使用起来会比较复杂。 本文主要介绍如何在Android中使用MediaRecorder进行录音并附带一些常见的问题及其解决方案。 使用 MediaRecorder 的步骤 使用MediaRecorder进行录音和录像主要有以下几个步骤 创建一个MediaRecorder对象。设置MediaRecorder的各种参数包括音视频源、输出文件、编码格式等等。调用prepare()方法让MediaRecorder做好开始录制的准备。调用start()方法开始录制。在合适的时间调用stop()方法结束录制。最后别忘了调用release()方法释放资源。 下面是一个简单的录音示例 import android.media.MediaRecorder; import android.os.Environment;public class RecorderAudio {public static final int RECORDER_SAMPLERATE 44100;public static final String AUDIO_RECORDER_FOLDER AudioRecorder;public static MediaRecorder getRecorder() {File dir new File(Environment.getExternalStorageDirectory(), AUDIO_RECORDER_FOLDER);if (!dir.exists()) {dir.mkdirs();}File file new File(dir, System.currentTimeMillis() .amr);// 创建一个MediaRecorder对象MediaRecorder recorder new MediaRecorder();// 设置音频源为麦克风recorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 设置音频输出格式recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);// 设置音频编码格式recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);// 设置输出文件路径recorder.setOutputFile(file.getAbsolutePath());return recorder;}public static void prepare(MediaRecorder recorder) {try {// 准备录制初始化 MediaRecorder 的各种状态并根据配置的信息创建一个 MediaCodec 对象。recorder.prepare();} catch (IOException e) {Log.e(MediaRecorder, prepare() failed);}}public static void start(MediaRecorder recorder) {try {// 开始录制开始真正的录音工作。它会启动一个循环来从 MediaCodec 对象中取出编码后的音频数据然后写入到指定的文件中。recorder.start();} catch (RuntimeException e) {Log.e(MediaRecorder, start() failed);}}public static void stop(MediaRecorder recorder) {// 停止录制会让循环停止并等待剩余的数据全部写入文件recorder.stop();// 释放掉所有的资源包括MediaRecorder对象自身。recorder.release();recorder null;} }注意要确保所有的操作都在同一个线程中执行否则可能会导致崩溃或异常。 如果想要在录制过程中查看音量大小可以通过调用getMaxAmplitude()方法来获取一小段时间内音频源数据中的最大振幅。 例如每秒调用一次可以得到近似音量值 int maxAmplitude recorder.getMaxAmplitude(); 常见问题及解决思路 在实际使用MediaRecorder的过程中可能会遇到各种各样的问题。这里列举一些常见的问题以及解决思路 无法访问存储卡目录 原因Android 6.0及以上版本要求用户明确授予应用读取外部存储的权限。 解决在运行以上代码之前需要动态申请权限 if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) ! PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_STORAGE); }并在onRequestPermissionsResult回调方法中处理结果 Override public void onRequestPermissionsResult(int requestCode, NonNull String[] permissions, NonNull int[] grantResults) {if (requestCode REQUEST_WRITE_STORAGE grantResults[0] PackageManager.PERMISSION_GRANTED) {startRecording();} else {Toast.makeText(this, No storage permission, Toast.LENGTH_SHORT).show();} }录制的音频文件没有声音 原因这可能是由于设置的音频源或编码器不正确导致的。 解决确认已经设置了正确的音频源和编码器并且麦克风功能正常。 录制过程中出现异常 原因这可能是由于在多线程环境下操作MediaRecorder导致的。 解决确保所有对MediaRecorder的操作都在同一个线程中执行。 MediaRecorder无法正常启动 这是最常见的问题。如果MediaRecorder无法正常启动可能是由于参数设置错误或者是设备不支持某种格式。 解决这个问题的方法是检查所有的参数设置确保它们都是正确的并且符合设备的要求。 录制的音质或者画质很差 这可能是因为采样率或者比特率设置得太低。解决这个问题的方法是提高采样率或者比特率但是这样会增加文件的大小。 录制的文件无法播放 这可能是因为编码格式设置得不正确或者设备不支持这种格式。解决这个问题的方法是更换编码格式选择一种设备支持的格式。 结语 以上就是关于Android中MediaRecorder录制音频的详细使用的一些介绍。希望对你有所帮助。如果你在使用MediaRecorder的过程中遇到了其他问题欢迎留言讨论。
http://www.zqtcl.cn/news/562521/

相关文章:

  • 江门网络建站模板虚拟主机价格一般多少钱
  • 网站建设公司云南深圳手机商城网站设计费用
  • 汇泽网站建设网页版快手
  • 手机销售培训网站wordpress案例插件
  • 滨江道做网站公司wordpress 花瓣网
  • 如何建网站快捷方式软件开发做平台
  • 常见的静态网页深圳罗湖企业网站优化
  • 做网站一天赚多少钱外贸网站建设排名
  • 一个大型网站建设得多少钱百度成都总部
  • 网站制作公司汉狮网络手机版网站优化
  • 铜川做网站logo 图标 设计
  • 如何做网站的注册页面南京宣传片公司有哪些
  • 中国建设机械教育协会网站网站建设中html中关于图片显示的标签有哪些
  • 网站过期后dede减肥网站源码
  • 营销型 手机网站网站建设方案后期服务
  • 怎么做一个个人网站建网站的八个步骤
  • 淘宝导购网站模版上海网站推广软件
  • 做影视网站引流湖北响应式网站建设费用
  • 网站统计cnzz网站空间有哪些
  • 泉州微信网站开发公司wordpress头像解决
  • 湛江网站建设皆选小罗24专业网站建设 福田
  • 厦门哪些做鲜花的网站门户网站开发设计报告
  • asp.net网站设计分工天津网站开发贴吧
  • 做多语言网站教程南宁vi设计公司
  • 百度联盟 网站备案wordpress 吾爱破解
  • 山西省建设厅网站首页网络营销推广为什么效果不好
  • 建材做网站好吗长沙做网站微联讯点不错
  • 建设小型网站分类门户网站系统
  • 文化馆网站数字化建设介绍138ip地址查询网站
  • 卖汽车的网站怎么做的建设服装网站的论文