`
shendixiong
  • 浏览: 399487 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java 音频类型转换(spark聊天)

阅读更多

spark项目中需要实现类似微信的语音聊天功能,主体流程:

流程 写道
1.终端将要发送的语音存储到本地,然后将对应的语音发送到资源服务器。获取网络地址

2.接收端在接收的时候,需将音频下载缓存到本地

3.读取本地缓存,对音频解码播放

 

在实现的过程,发现android端发送的amr格式,在spark电脑无法解析。需要将amr转换为wav格式才能正常解析。

public static File convert(String oldFilePath,String newFilePath,String voiceType){
		File target = new File(newFilePath);
		try {
			File source = new File(oldFilePath);
			AudioAttributes audio = new AudioAttributes();
			audio.setBitRate(new Integer(128000));
			audio.setChannels(new Integer(2));
			audio.setSamplingRate(new Integer(44100));
			EncodingAttributes attrs = new EncodingAttributes();
			attrs.setFormat(voiceType);
			attrs.setAudioAttributes(audio);
			Encoder encoder = new Encoder();
			encoder.encode(source, target, attrs);
			
			// 将旧数据删除
			if (source.exists()){
				source.delete();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} 
		
		return target;
		
	}

 使用上面的代码需要依赖jave-1.0.2.jar!

参数说明:

写道
oldFilePath:原本音频地址
newFilePath:需要转换后的音频地址
voiceType:需要转换的音频类型(如:wav,mp3等)

 

按照上面的步骤即可解析音频文件。

 

 

分享到:
评论

相关推荐

    G.721语音压缩算法的java实现

    G.721语音压缩算法是CCITT(现在称为ITU-T)制定的一种音频编码标准,属于ADPCM(自适应差分脉冲编码调制)家族的一员。它在1972年被提出,主要用于电话系统中的语音信号压缩,提供了一个4:1的压缩比率,即原本16位...

    Spark技术内幕和快速数据处理.zip

    它可能涵盖了数据预处理、数据清洗、数据转换、建模和模型验证等多个步骤,并且会介绍如何在Spark上实现这些任务,包括使用Spark MLlib库进行机器学习。 总的来说,这个压缩包对于想要深入了解大数据处理和Apache ...

    javacv-platform-1.5.5-bin.zip

    FFmpeg是一个强大的多媒体处理工具,用于音频和视频的编码、解码、转换和流化。JavaCV通过FFmpegJava接口,使Java开发者能够处理音视频文件,实现视频帧的捕获、视频剪辑、格式转换等功能。 4. **JavaCV的版本...

    利用ffmpeg视频转换处理

    FFmpeg是一款强大的、开源的多媒体处理工具,广泛用于视频、音频的编码、解码、转换以及流媒体的处理。在Java开发中,我们可以利用FFmpeg的命令行接口或者相关的Java库来实现各种视频处理功能,如视频格式转换、视频...

    纯java代码实现各种视频转flv格式,支持在线播放。

    6. **性能优化**:为了保证转码速度和效率,我们可能需要采用多线程技术,如Java并发API(`java.util.concurrent`包),来并行处理视频的音频和视频流。此外,合理的内存管理和数据缓冲也是提高性能的关键。 虽然纯...

    浅谈计算机软件开发中JAVA编程语言的应用.zip

    这得益于Java虚拟机(JVM)的设计,它能够将Java字节码转换为特定操作系统下的机器指令。这种跨平台能力使得开发者可以在Windows、Linux、Mac OS等不同操作系统上编写和运行Java程序,极大地降低了软件移植的成本。 ...

    基于java 的深度学习框架DL4J

    - **DataVec**: 数据预处理库,用于将原始数据(如音频、图像、文本等)转换成适用于机器学习训练的张量形式。 - **rl4j**: Java/JVM环境下的深度强化学习库。 - **arbiter**: 超参数调优工具。 - **dl4j-examples**...

    java程序

    这些源码文件经过Java编译器(javac)处理,被转换为字节码(.class文件),字节码是平台无关的,可以在任何安装了JVM的系统上运行。 "工具"标签可能指的是用于开发、调试、测试和优化Java程序的各种工具。例如: 1...

    java web开发实战宝典 部分实战源码

    可以使用Java的JAVE库进行音频文件转换,或者JLayer处理MP3解码,结合Spring MVC或Struts2框架构建整个功能。 4. **reticulationCount**:可能是灌溉系统相关,可能是数据分析或统计部分 可能涉及到数据采集、处理...

    Multimodal Analytics for Next-Generation Big Data Technologies and Applications

    《多模态分析在下一代大数据技术与应用》是关于现代信息技术领域中的一种核心议题,它主要探讨如何利用不同数据类型(如文本、图像、音频、视频等)进行深度分析,以挖掘出更多有价值的信息。在大数据时代,多模态...

    视频文件的转码

    在处理大量视频文件时,需要注意性能优化,比如通过多线程并行处理,或者使用分布式计算框架如Hadoop或Spark。另外,考虑到存储和网络传输,转码后的文件大小也是需要关注的因素,合理的比特率控制和质量优化可以...

    视频转成flv

    由于它支持H.263、Sorenson Spark(一种早期的视频编码)和AAC(高级音频编码)等,所以它在提供良好的网络播放性能的同时,也具有较好的兼容性。 3. **视频转换工具** 转换视频到FLV格式,我们可以使用各种软件...

    FLVCode.zip

    2. **编码和解码**:FLV中的视频通常使用H.263、Sorenson Spark(一种早期的H.263变种)、VP6或H.264编码,而音频可能采用MP3、ADPCM或AAC。编码过程将原始音频和视频数据转换为可压缩的格式,解码则是逆过程。 3. ...

    JavPlayer_107.zip

    JavaPlayer_107.zip 文件看起来是一个与Java相关的播放器软件的版本更新,可能是用于播放多媒体内容,如视频或音频。然而,由于信息有限,我们只能根据提供的标签“图像识别”来推测它可能包含了图像处理或识别的...

    FLVCode.rar

    1. **FLV格式介绍**:FLV文件格式通常包含音频和视频数据流,采用H.263、Sorenson Spark(一种早期的视频编解码器)或VP6作为视频编码,AAC或MP3作为音频编码。FLV的结构由一系列的tag组成,每个tag包含特定时间点的...

    H.264转flv代码示例

    3. **封装NAL单元**:将H.264的NAL单元转换为FLV的Tag格式,这涉及到添加起始码(例如0x000001或0x00000001,取决于NAL单元类型)和长度信息。 4. **处理AVC头信息**:在FLV中,H.264编码的视频数据需要以...

    《大数据技术基础》数据集及源代码.zip

    它可能包含了各种类型的数据,例如结构化数据(如数据库记录)、半结构化数据(如XML或JSON)和非结构化数据(如文本、图像、音频)。在本数据集中,我们可能找到不同格式的数据文件,用于演示如何在大数据环境中...

    FLVCode.zip.zip

    例如,使用ffmpeg库可以将其他格式的视频和音频转换为FLV,或者将FLV文件提取、编辑和重新封装。 6. **网络传输**:FLV常用于实时流媒体,通过RTMP(Real Time Messaging Protocol)协议传输。RTMP提供了一种低延迟...

    UnstructuredData:非结构化数据

    非结构化数据是现代大数据分析领域中的重要组成部分,与结构化数据相对,它不遵循预定义的数据模型,没有固定格式,通常包括文本、图像、音频、视频、PDF文档等多种类型。在Java编程环境中,处理非结构化数据是开发...

    网页资料收集网页资料

    这包括去除重复数据、处理缺失值、标准化格式、转换数据类型等,以便后续的数据分析和挖掘。Python的Pandas库提供了强大的数据处理功能,能有效帮助我们进行这些工作。 最后,根据收集的网页资料,我们可以进行各种...

Global site tag (gtag.js) - Google Analytics