录音分享以及重命名功能小结

本文详细介绍了如何通过短信分享录音,并实现录音文件的重命名。包括获取文件名称、构造绝对地址、查询数据库、发送分享等步骤,以及录音文件重命名的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 录音通过短信分享


String mfname=arr.get(menuInfo.position).get("audioname");//通过contextMenu得到文件名称

String afile = "/sdcard/recorder" + "/" + mfname;//得到存入数据库的录音文件的绝对地址,必须与存入时相匹配。

ContentResolver resolver = getContentResolver();
Uri base = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor c = resolver.query(base, new String[]{"_id"}, MediaStore.Audio.Media.DATA + "='" +afile+"'", null, null);//从数据库中查询
Uri finalUri = null;
if(null != c) {
c.moveToFirst();
int rowId = c.getInt(0);
finalUri=ContentUris.withAppendedId(Audio.Media.getContentUri(base.getPathSegments().get(0)), rowId);//从id中得到URI
c.close();
}
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, finalUri);
intent.setType("audio/*");
startActivity(Intent.createChooser(intent, SoundRecorderList.this.getResources().getText(R.string.choose_send_client)));


2 录音重命名


public void renameSampleFile(File samFile,String name) {
if (samFile != null && mState != RECORDING_STATE && mState != PLAYING_STATE) {
if (!TextUtils.isEmpty(name)) {
String oldName = samFile.getAbsolutePath();
String extension = oldName.substring(oldName.lastIndexOf('.'));
File newFile = new File(samFile.getParent() + "/" + name + extension);
if (!TextUtils.equals(oldName, newFile.getAbsolutePath())) {
if (samFile.renameTo(newFile)) {
samFile = newFile;
}
}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值