Android保存音频文件
搜了一晚上资料,累死我了,全是录音
直接上代码
先调用选择文件管理器选择音频,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保存音频文件相关推荐
- android ios 音频寻,多媒体-iOS与Android的音频文件互通
前言 在实际的开发中,关于音频的传输上,iOS与Android的通用性一直是一个不可回避的问题.下面记录下比较好的解决方案. 现状 苹果的音频格式安卓全不支持. 安卓的音频格式,苹果基本也不支持 解决 ...
- android 存放音频文件夹里,Android 实现简单的音乐播放器效果(音频文件的三种存放)...
Android 实现简单的音乐播放器效果(音频文件的三种存放).三种方法主要使用到的类 MediaPlayer.create() getAssets() new Mediaplayer() - 几个控 ...
- Android Wav音频文件裁剪
最近项目遇到了音频处理的问题,找了很久没找到合适android用的,最后改动了一下某位大佬的代码,放到项目里还是能用的,记录一下/*** 开始裁剪** @param start 开始时间(毫秒)* @ ...
- Android保存的文件显示到文件管理的最近文件和下载列表中
发现Android开发每搞一个和系统扯上关系的功能都要磨死人,对新手真不友好.运气不好难以快速精准的找到有效的资料? 这篇记录的是Android中如何把我们往存储中写入的文件,如何显示到文件管理的下载 ...
- android 播放声音文件,AudioPlayerDemo android 播放音频文件
[实例简介] 该PCM 参数如下: rm-channels_2 frame_4096(纯PCM数据每帧长度4096) freq_44100 bits_16 480X234_1700kbps.rm是源音 ...
- java调用手机麦克风录音以及保存音频文件到服务器
1.应用场景:手机app内录制不超过60秒的录音,进行保存,可以实现播放 实现过程 (1).前端调取手机麦克风,录制音频,转成base64文件传给后端 (2).后端将前端传过来的base64文件进行解 ...
- Android合并音频文件
[java] view plaincopy /** * 需求:将两个amr格式音频文件合并为1个 * 注意:amr格式的头文件为6个字节的长度 * @param partsPaths 各部 ...
- ios android mid音频文件,iOS 录音 音频 视频 控制中心
录音 最近项目中需要录音功能,为此在写了一个录音的小模块. 首先需要添加AVFoundation.framework lame.h 帮助链接 下面直接上代码 #import #import #impo ...
- java保存音频,文件保存音频数据
package client; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputS ...
- android保存字符到sd卡,android 保存TXT文件到SD卡方法
直接贴代码吧: import java.io.*; import android.util.Log; /*将调试信息保存到sdcard上*/ public class DebugMessage { p ...
最新文章
- WF4.0 基础篇 (十八) Flowchar
- 上海python培训班-上海哪家python培训班比较靠谱?
- 算法之图搜索算法(一)
- 有三AI不得不看的几十篇技术综述
- tcp/ip客户端与服务器
- 操作数据库(对战小游戏)
- ipad和iphone切图_如何在iPhone和iPad上的Messages App中固定对话
- 最高的分数(信息学奥赛一本通-T1062)
- 将hive查询内容存储到文件中
- 带你学习《深入理解计算机系统》程序性能优化探讨(5)——高速缓存、存储器山与矩阵乘法优化
- 贝叶斯网络应用在疾病预测
- 谷歌chromeos_闲置电脑也能焕发第二春?试试谷歌 Chrome OS 操作系统
- CIFAR10图像分类ResNet模型实战(pytorch)
- GPU和CPU芯片区别:为何要用GPU挖矿?
- 北京市211学校计算机专业,北京较容易考的2所211大学,王牌专业实力强悍,学生不愁就业...
- 兰州工业学院有计算机专业,兰州工业学院计算机协会
- java基础测试大集合 今天收罗精选一下Java题 适合小白挑战和新手回顾
- Linux系统checkra1n装错插件,CheckRa1n越狱常见问题汇总 CheckRa1n越狱问题解决方法
- iOS 第三方分享、支付原生平台集成
- 动手练一练,用纯 CSS 制作一款侧滑显示留言面板的网页组件