导航:首页 > 文件处理 > android语音压缩

android语音压缩

发布时间:2023-05-23 21:13:21

1. android中语音的压缩使用的什么算法

把一些赞美当成春天我对我的热情和你的冷漠都失去了把一个和横店类似的村庄当成故乡耐心而它们活与不活真的是另外一件事情

2. android语音录制后怎么压缩语音文件,就是微信语音对讲机说完,怎样压缩这个文件,求大神治疗

android自带的语音编码后生成的amr本身就很小吧,不用压缩也完全可以用了。htt(蔽野网络知道不能发链接吧)p://download.csdn.net/download/jiangchao5411/6448859,看或斗看这个吧衫并磨

3. android中如何代码压缩音频视频文件呢

知道怎么压缩文件,音视频文件应该差不多吧O.O
package com.once;

import java.io.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;

/**
* Java utils 实现的Zip工具
*
* @author once
*/
public class ZipUtils {
private static final int BUFF_SIZE = 1024 * 1024; // 1M Byte

/**
* 批量压缩文件(夹)
*
* @param resFileList 要压缩的文件(夹)列表
* @param zipFile 生成的压缩文件
* @throws IOException 当压缩过程出错时抛出
*/
public static void zipFiles(Collection<File> resFileList, File zipFile) throws IOException {
ZipOutputStream zipout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(
zipFile), BUFF_SIZE));
for (File resFile : resFileList) {
zipFile(resFile, zipout, "");
}
zipout.close();
}

/**
* 批量压缩文件(夹)
*
* @param resFileList 要压缩的文件(夹)列表
* @param zipFile 生成的压缩文件
* @param comment 压缩文件的注释
* @throws IOException 当压缩过程出错时抛出
*/
public static void zipFiles(Collection<File> resFileList, File zipFile, String comment)
throws IOException {
ZipOutputStream zipout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(
zipFile), BUFF_SIZE));
for (File resFile : resFileList) {
zipFile(resFile, zipout, "");
}
zipout.setComment(comment);
zipout.close();
}

/**
* 解压缩一个文件
*
* @param zipFile 压缩文件
* @param folderPath 解压缩的目标目录
* @throws IOException 当解压缩过程出错时抛出
*/
public static void upZipFile(File zipFile, String folderPath) throws ZipException, IOException {
File desDir = new File(folderPath);
if (!desDir.exists()) {
desDir.mkdirs();
}
ZipFile zf = new ZipFile(zipFile);
for (Enumeration<?> entries = zf.entries(); entries.hasMoreElements();) {
ZipEntry entry = ((ZipEntry)entries.nextElement());
InputStream in = zf.getInputStream(entry);
String str = folderPath + File.separator + entry.getName();
str = new String(str.getBytes("8859_1"), "GB2312");
File desFile = new File(str);
if (!desFile.exists()) {
File fileParentDir = desFile.getParentFile();
if (!fileParentDir.exists()) {
fileParentDir.mkdirs();
}
desFile.createNewFile();
}
OutputStream out = new FileOutputStream(desFile);
byte buffer[] = new byte[BUFF_SIZE];
int realLength;
while ((realLength = in.read(buffer)) > 0) {
out.write(buffer, 0, realLength);
}
in.close();
out.close();
}
}

/**
* 解压文件名包含传入文字的文件
*
* @param zipFile 压缩文件
* @param folderPath 目标文件夹
* @param nameContains 传入的文件匹配名
* @throws ZipException 压缩格式有误时抛出
* @throws IOException IO错误时抛出
*/
public static ArrayList<File> upZipSelectedFile(File zipFile, String folderPath,
String nameContains) throws ZipException, IOException {
ArrayList<File> fileList = new ArrayList<File>();

File desDir = new File(folderPath);
if (!desDir.exists()) {
desDir.mkdir();
}

ZipFile zf = new ZipFile(zipFile);
for (Enumeration<?> entries = zf.entries(); entries.hasMoreElements();) {
ZipEntry entry = ((ZipEntry)entries.nextElement());
if (entry.getName().contains(nameContains)) {
InputStream in = zf.getInputStream(entry);
String str = folderPath + File.separator + entry.getName();
str = new String(str.getBytes("8859_1"), "GB2312");
// str.getBytes("GB2312"),"8859_1" 输出
// str.getBytes("8859_1"),"GB2312" 输入
File desFile = new File(str);
if (!desFile.exists()) {
File fileParentDir = desFile.getParentFile();
if (!fileParentDir.exists()) {
fileParentDir.mkdirs();
}
desFile.createNewFile();
}
OutputStream out = new FileOutputStream(desFile);
byte buffer[] = new byte[BUFF_SIZE];
int realLength;
while ((realLength = in.read(buffer)) > 0) {
out.write(buffer, 0, realLength);
}
in.close();
out.close();
fileList.add(desFile);
}
}
return fileList;
}

/**
* 获得压缩文件内文件列表
*
* @param zipFile 压缩文件
* @return 压缩文件内文件名称
* @throws ZipException 压缩文件格式有误时抛出
* @throws IOException 当解压缩过程出错时抛出
*/
public static ArrayList<String> getEntriesNames(File zipFile) throws ZipException, IOException {
ArrayList<String> entryNames = new ArrayList<String>();
Enumeration<?> entries = getEntriesEnumeration(zipFile);
while (entries.hasMoreElements()) {
ZipEntry entry = ((ZipEntry)entries.nextElement());
entryNames.add(new String(getEntryName(entry).getBytes("GB2312"), "8859_1"));
}
return entryNames;
}

/**
* 获得压缩文件内压缩文件对象以取得其属性
*
* @param zipFile 压缩文件
* @return 返回一个压缩文件列表
* @throws ZipException 压缩文件格式有误时抛出
* @throws IOException IO操作有误时抛出
*/
public static Enumeration<?> getEntriesEnumeration(File zipFile) throws ZipException,
IOException {
ZipFile zf = new ZipFile(zipFile);
return zf.entries();

}

/**
* 取得压缩文件对象的注释
*
* @param entry 压缩文件对象
* @return 压缩文件对象的注释
* @throws UnsupportedEncodingException
*/
public static String getEntryComment(ZipEntry entry) throws UnsupportedEncodingException {
return new String(entry.getComment().getBytes("GB2312"), "8859_1");
}

/**
* 取得压缩文件对象的名称
*
* @param entry 压缩文件对象
* @return 压缩文件对象的名称
* @throws UnsupportedEncodingException
*/
public static String getEntryName(ZipEntry entry) throws UnsupportedEncodingException {
return new String(entry.getName().getBytes("GB2312"), "8859_1");
}

/**
* 压缩文件
*
* @param resFile 需要压缩的文件(夹)
* @param zipout 压缩的目的文件
* @param rootpath 压缩的文件路径
* @throws FileNotFoundException 找不到文件时抛出
* @throws IOException 当压缩过程出错时抛出
*/
private static void zipFile(File resFile, ZipOutputStream zipout, String rootpath)
throws FileNotFoundException, IOException {
rootpath = rootpath + (rootpath.trim().length() == 0 ? "" : File.separator)
+ resFile.getName();
rootpath = new String(rootpath.getBytes("8859_1"), "GB2312");
if (resFile.isDirectory()) {
File[] fileList = resFile.listFiles();
for (File file : fileList) {
zipFile(file, zipout, rootpath);
}
} else {
byte buffer[] = new byte[BUFF_SIZE];
BufferedInputStream in = new BufferedInputStream(new FileInputStream(resFile),
BUFF_SIZE);
zipout.putNextEntry(new ZipEntry(rootpath));
int realLength;
while ((realLength = in.read(buffer)) != -1) {
zipout.write(buffer, 0, realLength);
}
in.close();
zipout.flush();
zipout.closeEntry();
}
}
}

4. 语音怎么压缩成文件

首先,我们查看一下需要压缩的音频文件的大小以及比特率。

右键点击该音频文件,在餐单中,选择“属性”。

在“常规”页面,我们可以看到它的大小为9.23MB。我们需要将它压缩到4MB大小以内。

继续点击进入“详细信息”页面,我们可以看到它的比特率为320kbps。

如何压缩音频文件大小,而不裁剪其长度
如何压缩音频文件大小,而不裁剪其长度
打开酷狗音乐播放器,选择“工具”选项(旧版本则为“更多”选项)。

选择“格式转换”。

如何压缩音频文件大小,而不裁剪其长度
在弹出的“格式转换工具”窗口上方,选择“添加文件”选项。

选择打开需要压缩的音频文件。

如何压缩音频文件大小,而不裁剪其长度
如何压缩音频文件大小,而不裁剪其长度
点击“音乐质量”选项,根据自己希望压缩后的音频文件大小,选择相应的比特率。

一般来说,比特率越小,音频文件也就越小,当然音质也会越差。

需要压缩的原音频文件大小为9.23MB,比特率为320kbps。

我们希望压缩后的音频文件大小控制在4MB以内,所以我们在这里可以尝试压缩成比特率为160kpbs和128kpbs的音频。

如何压缩音频文件大小,而不裁剪其长度
然后,可以通过点击“更改”选项,选择将压缩后的音频文件放在电脑中的那个位置。

如果目标文件夹与源文件所在的位置相同,则会自动重命名压缩后的音频文件,以示区分。

在长度相同的情况下,音频文件的大小与比特率成正比例关系

5. android音视频开发一安卓常用API

Android SDK 提供了两套音频采集的API,分别是:MediaRecorder 和 AudioRecord,前者是一个更加上层一点的API,它可以直接把手机麦克风录入的音频数据进行编码压缩(如AMR、MP3等)并存成文件,而后者则更接近底层,能够更加自由灵活地控制,可以得到原始的一帧帧PCM音频数据。如果想简单地做一个录音机,录制成音频文件,则推荐使用 MediaRecorder,而如果需要对音频做进一步的算法处理、或者采用第三方的编码库进行压缩、以及网络传输等应用,则建议使用 AudioRecord,其实 MediaRecorder 底层也是调用了 AudioRecord 与 Android Framework 层的 AudioFlinger 进行交互的。直播中实时采集音频自然是要用AudioRecord了。

2.1 播放声音可以用MediaPlayer和AudioTrack,两者都提供了Java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。

2.2 其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。而AudioTrack只能播放已经解码的PCM流,如果对比支持的文件格式的话则是AudioTrack只支持wav格式的音频文件,因为wav格式的音频文件大部分都是PCM流。AudioTrack不创建解码器,所以只能播放不需要解码的wav文件。

2.3 MediaPlayer在framework层还是会创建AudioTrack,把解码后的PCM数流传递给AudioTrack,AudioTrack再传递给AudioFlinger进行混音,然后才传递给硬件播放,所以是MediaPlayer包含了AudioTrack。

2.4 在接触Android音频播放API的时候,发现SoundPool也可以用于播放音频。下面是三者的使用场景:MediaPlayer 更加适合在后台长时间播放本地音乐文件或者在线的流式资源; SoundPool 则适合播放比较短的音频片段,比如游戏声音、按键声、铃声片段等等,它可以同时播放多个音频; 而 AudioTrack 则更接近底层,提供了非常强大的控制能力,支持低延迟播放,适合流媒体和VoIP语音电话等场景。

使用 Camera API 采集视频数据并保存到文件,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调。

4.1 一个音视频文件是由音频和视频组成的,我们可以通过MediaExtractor、MediaMuxer把音频或视频给单独抽取出来,抽取出来的音频和视频能单独播放; 

4.2 MediaMuxer的作用是生成音频或视频文件;还可以把音频与视频混合成一个音视频文件。

文献资料  https://www.cnblogs.com/renhui/p/7452572.html

6. 微信语音怎么压缩转发

可以通过以下方法将微信里的聊天记录打包转发给好友,具体步骤如下:1、打开手机,找到手机中的“微信”:2、打开微信,找到需要转发的聊天记录的所在联系人:3、打开聊天窗口,长按需要转发的其中一条聊天记录,然后在弹出的对话框中选择“多驯
微信是一个有着广泛用户基础的软件,普遍应用在人们的日常生活中,然而很多人却不知道微信怎么转发语音,今天就让我们一起来看看吧。
1.打开手机,找到并进入“微信”app,进入微信的主界面。2.找到你需要打包的聊天记录的位置。3.进入该聊天界面后,找到你需要打包的信息,长按该条信息。4.然后就会跳出一个小功能栏,找到功能栏中最后的“更多...”,点击“更多...”。5.点击开始筛选
1.打开手机里的微信APP。
苹果发现大的录音文件可以通过先微信收藏再发送的方式发送,操作步骤如下:1.打开要发送的录音文件,点击录音文件框左下角的按钮,如下图红框所示;2.弹出分享菜单,选择“微信”图标,如下图红框所示带亏;3.在弹出的菜单里面选择“收藏”,不要选择

2.选择好友并点击毁行伍进入聊天界面纤或。
方法如下:1、首先要安装wps,以发送红色矩形中的文件为例2、点击右上角红色箭头指向的位置3、点击用其他应用打开4、点击“WPS”5、点击分享与发送6、点击微信7、点击拷贝到微信8、找到要发送的人,点击发送9、文件已成功发送

3.长按你想要转发的语音并点击转换为文字。
没有办法的,压缩是必然的,当然我不建议使用电脑录音这种来保存语音,你只能在选择用什么录音设备上面下功夫了。

4.长按文字点击发送给朋友即可。
首先当然要下载安装同步助手最新版安装成功之后,就可以连接你的iPhone设备,并运行同步助手。切换页面至“更多功能”,点击资料分类的最后一个按钮【微信】,即可进入微信消息记录管理器查看聊天记录(支持微信3.5以上版本)直接查询微信聊天记

注意事项:微信语音不可直接转发,如出现差别请检查手机微信是否为对应版本。
微信发送后显示红色感叹号说明该信息由于网络原因发送失败了,请稍后重新发送。可能是由于以下原因导致:1、网络连接不可用;2、朋友圈或发送消息频繁;3、软件本身出问题了;4、对方拉黑了,这个情况下也是发不出消息的。(6)android语音压缩扩展阅读:微信
扩展阅读,以下内容您可能还感兴趣。
关于iPhone插件,你们知不知道微信语音压缩1秒的插件或软件
亲,可以安装插件的是越狱机,删除需要到cydia里面找到那个插件,卸载即可删除,望采纳追问废话,我手机已经越狱的,我只想知道这个功能的插件名叫什么
微信公众号如何做到语音消息不被压缩?
这个问题我们平台也遇到了,语音上传以后二压是绝对的
无论mp3、wma、wav、amr格式,无论语音大小是不是100kb以内都会压
现在的我们的解决办法是尽量提高音量,自己把语音压缩到100kb左右好像也有一点效果?
微信公众平台上传语音文件后音质太差了,有什么办法保持较高的音质上传后不变质?
楼主问的也是我想问的,的确上传后音质差很多,也不知怎么解决
微信一秒语音是一首歌,谁知道怎么做到的
这是通过微信的第三方插件实现的,目前我知道的有一款root手机才可以使用的插件就可以做到,但这种工具微信官方是禁止的,而且对于小白用户来说,使用对手机会存在风险,所以不是很建议使用。
打开微信群一个人一直发一秒语音点开却都是歌曲请问她怎么做到的语音变成歌曲发出去还只有一秒
微信群语音变成歌曲发出去的方法:先将语音导出为MP3文件,然后再将合并的MP3文件发到群里即可。
具体步骤:
一、通过PC端的360软件管家下载“同步助手”软件。
二、点击软件主界面右下角的“微信”,软件自动连接手机微信。由于PC端的同步助手软件要获取手机微信里面的文字、图片、语音、视频等数据,因此每次连接都要比较长的时间。
三、搜索到你需要导出文字、图片、语音、视频的微信群或者微信好友名字。设置你导出数据的时间段。建议导出前可以在电脑桌面建立导出的文件名。
四、导出到txt。
五、导出到excel。
六、导出到图片。
七、导出到语音
八、导出到小视频。
九、导出信息前建议命名文件夹名称,便于导出完毕后快捷找到导出的数据。
十、设定导出音频文件的时间段,苹果手机导出来的都是wav格式,一小段一小段的音频文件,可以使用一些wav、mp3合并分割工具软件进行合并。
十一、将合并后的文件再发送到微信里即可。

7. 语音怎么压缩成文件

语音通过录音APP变成音频文件,现在的手机自带录音APP,例如:

备注:电脑上也有相同功能的软件,且功能更强大。

阅读全文

与android语音压缩相关的资料

热点内容
压缩弹簧展开长度 浏览:509
如何共享国外app 浏览:687
淘宝app如何扫描图片 浏览:594
反编译作业帮 浏览:856
钉钉打卡服务器过什么意思 浏览:139
镂空加密隔断墙效果图 浏览:539
windows7怎么安装证书服务器 浏览:952
证券业务的程序员 浏览:202
u点服务器wifi密码如何设置 浏览:864
宝马x5大灯编程 浏览:673
python安装和使用 浏览:381
加密的门禁卡复制了用不了 浏览:714
javacsv读写 浏览:806
ug编程教程pdf 浏览:763
latex编译软件安卓版 浏览:248
如何在信合app上交居民医保 浏览:109
丑恶pdf 浏览:365
陕西定频压缩机销售公司 浏览:795
安卓系统如何帮人打王者 浏览:427
sbtlinux安装 浏览:141