搜了一晚上资料,累死我了,全是录音
直接上代码

先调用选择文件管理器选择音频,PICK_FILE是返回值

   void xuanzeyinpin(){//选择音频Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("audio/*");startActivityForResult(intent, PICK_FILE);}

然后在返回结果里面处理

    @Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if(requestCode == PICK_FILE){if (resultCode == Activity.RESULT_OK && data != null) {Uri uri = data.getData();if (uri != null){try {//读取由FileProvider传递的uri文件/*音频文件可以正常读取Toast.makeText(this,String.valueOf(uriToFileApiQ(uri,this).length()), Toast.LENGTH_LONG).show();*/uriToFileApiQ(uri,this,"chongdian.mp3");         Toast.makeText(this,"选择成功",Toast.LENGTH_SHORT).show();} catch (Exception e) {Toast.makeText(this,"选择错误"+e,Toast.LENGTH_LONG).show();}}}}}

将文件存到缓存目录

              @RequiresApi(api = Build.VERSION_CODES.Q)public static File uriToFileApiQ(Uri uri, Context context,String strFileName) {File file = null;if(uri == null) return file;//android10以上转换if (uri.getScheme().equals(ContentResolver.SCHEME_FILE)) {file = new File(uri.getPath());} else if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) {//把文件复制到沙盒目录ContentResolver contentResolver = context.getContentResolver();/*String displayName = System.currentTimeMillis()+ Math.round((Math.random() + 1) * 1000)+"."+ MimeTypeMap.getSingleton().getExtensionFromMimeType(contentResolver.getType(uri));*/
//            注释掉的方法可以获取到原文件的文件名,但是比较耗时
//            Cursor cursor = contentResolver.query(uri, null, null, null, null);
//            if (cursor.moveToFirst()) {//                String displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));}try {InputStream is = contentResolver.openInputStream(uri);File cache = new File(context.getExternalCacheDir(), strFileName);FileOutputStream fos = new FileOutputStream(cache);FileUtils.copy(is, fos);file = cache;fos.close();is.close();} catch (IOException e) {e.printStackTrace();}}return file;}

Android保存音频文件相关推荐

  1. android ios 音频寻,多媒体-iOS与Android的音频文件互通

    前言 在实际的开发中,关于音频的传输上,iOS与Android的通用性一直是一个不可回避的问题.下面记录下比较好的解决方案. 现状 苹果的音频格式安卓全不支持. 安卓的音频格式,苹果基本也不支持 解决 ...

  2. android 存放音频文件夹里,Android 实现简单的音乐播放器效果(音频文件的三种存放)...

    Android 实现简单的音乐播放器效果(音频文件的三种存放).三种方法主要使用到的类 MediaPlayer.create() getAssets() new Mediaplayer() - 几个控 ...

  3. Android Wav音频文件裁剪

    最近项目遇到了音频处理的问题,找了很久没找到合适android用的,最后改动了一下某位大佬的代码,放到项目里还是能用的,记录一下/*** 开始裁剪** @param start 开始时间(毫秒)* @ ...

  4. Android保存的文件显示到文件管理的最近文件和下载列表中

    发现Android开发每搞一个和系统扯上关系的功能都要磨死人,对新手真不友好.运气不好难以快速精准的找到有效的资料? 这篇记录的是Android中如何把我们往存储中写入的文件,如何显示到文件管理的下载 ...

  5. android 播放声音文件,AudioPlayerDemo android 播放音频文件

    [实例简介] 该PCM 参数如下: rm-channels_2 frame_4096(纯PCM数据每帧长度4096) freq_44100 bits_16 480X234_1700kbps.rm是源音 ...

  6. java调用手机麦克风录音以及保存音频文件到服务器

    1.应用场景:手机app内录制不超过60秒的录音,进行保存,可以实现播放 实现过程 (1).前端调取手机麦克风,录制音频,转成base64文件传给后端 (2).后端将前端传过来的base64文件进行解 ...

  7. Android合并音频文件

    [java] view plaincopy /** * 需求:将两个amr格式音频文件合并为1个 * 注意:amr格式的头文件为6个字节的长度 * @param partsPaths       各部 ...

  8. ios android mid音频文件,iOS 录音 音频 视频 控制中心

    录音 最近项目中需要录音功能,为此在写了一个录音的小模块. 首先需要添加AVFoundation.framework lame.h 帮助链接 下面直接上代码 #import #import #impo ...

  9. java保存音频,文件保存音频数据

    package client; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputS ...

  10. android保存字符到sd卡,android 保存TXT文件到SD卡方法

    直接贴代码吧: import java.io.*; import android.util.Log; /*将调试信息保存到sdcard上*/ public class DebugMessage { p ...

最新文章

  1. WF4.0 基础篇 (十八) Flowchar
  2. 上海python培训班-上海哪家python培训班比较靠谱?
  3. 算法之图搜索算法(一)
  4. 有三AI不得不看的几十篇技术综述
  5. tcp/ip客户端与服务器
  6. 操作数据库(对战小游戏)
  7. ipad和iphone切图_如何在iPhone和iPad上的Messages App中固定对话
  8. 最高的分数(信息学奥赛一本通-T1062)
  9. 将hive查询内容存储到文件中
  10. 带你学习《深入理解计算机系统》程序性能优化探讨(5)——高速缓存、存储器山与矩阵乘法优化
  11. 贝叶斯网络应用在疾病预测
  12. 谷歌chromeos_闲置电脑也能焕发第二春?试试谷歌 Chrome OS 操作系统
  13. CIFAR10图像分类ResNet模型实战(pytorch)
  14. GPU和CPU芯片区别:为何要用GPU挖矿?
  15. 北京市211学校计算机专业,北京较容易考的2所211大学,王牌专业实力强悍,学生不愁就业...
  16. 兰州工业学院有计算机专业,兰州工业学院计算机协会
  17. java基础测试大集合 今天收罗精选一下Java题 适合小白挑战和新手回顾
  18. Linux系统checkra1n装错插件,CheckRa1n越狱常见问题汇总 CheckRa1n越狱问题解决方法
  19. iOS 第三方分享、支付原生平台集成
  20. 动手练一练,用纯 CSS 制作一款侧滑显示留言面板的网页组件

热门文章

  1. linux fread函数的用法,fread和fwrite用法详解
  2. 贪吃蛇游戏设计算法及创新
  3. Java 登录拦截器
  4. kali linux实现wifi扫描与密码字典破解入门
  5. mysql 递归查询所有父级
  6. 毕业设计 - 基于JAVA人脸识别管理系统(人脸搜索与人脸库管理)
  7. python程序狮_Python编程狮
  8. 亲测源码多多进鱼带VUE源码任务悬赏源码活动营销三级分销返佣积分商城版
  9. 2012—2018年软考中级软件设计师历年真题
  10. holtek c语言,合泰单片机c语言教程