AudioCapture类封装了从音频硬件捕获音频数据并自动编码为GSM音频压缩数据的过程,并且通过它的getAudioInputStream()方法提供给我们一个音频数据输入流,我们就可以直接将这个流发送到网络中 。
AudioCapture 类的重要方法:
名称:getAudioInputStream
调用格式:getAudioInputStream()
返回值:AudioInputStream对象
AudioCapture 类使用了Java Sound API中的AudioInputStream、AudioFormat、AudioSystem这几个类和TargetDataLine、LineListener接口 。除了AudioFormat类我再简单介绍一下其他的类:
AudioInputStream 类是带有特殊音频格式和长度的InputStream类,它有两个构造方法 , 分别是AudioInputStream(InputStream stream, AudioFormat format,long length)和AudioInputStream(TargetData -Line line) 。
TargetDataLine 接口是DataLine接口的一种,通过它就可以直接从音频硬件获取数据了,它有几个常用的方法,分别是:open(AudioFormat format)、void open(AudioFormat format, int bufferSize)、int read(byte[] b, int off, int len) 。
AudioSystem 类是Java标准音频系统的入口点 , 在AudioSystem 类中使用他的getLine() 方法创建TargetDataLine对象 。
LineListener接口用来对线路状态改变的时间进行监听,他的重要的方法是update(LineEvent event)方法 。
③ AudioPlayStream类(封装在AudioPlayStream.java文件中)
AudioPlayStream类与AudioCapture类刚好相反,它封装了GSM压缩音频数据的解码和音频信号的回放过程 , 提供给我们一个音频信号输出流 。AudioCapture类用到的Java Sound API中的类它也基本都用到了,只是它使用了SourceDataLine接口而不是TargetDataLine接口
④ Debug类(封装在Debug.java文件中)
Debug类主要用来在调试时输出讯息,代码很少,后来我把其中输出信息的语句都屏蔽了,对程序运行没有影响 。
为了方便使用以上的几个类,我们需要对它们进行编译和打包,编译时需要设置相关的编译环境,以下是我们需要用到的命令行
set CLASSPATH=%CLASSPATH%;.;tritonus_gsm.jar;tritonus_share.jar
javac am*.java amaudio*.java
jar cmf packagingmanifest.mf am.jar am*.class
amaudio*.class
说明一下 , 我将以上提到的Java源码文件放在了am目录下,编译之后可以得到一个8k的am.jar文件,我们下一步所需要做的就是在我们的程序中引用这个包 。
java如何读取MP3格式文件的内容然后对其播放实例代码直接下个JMF,google搜,sun上有~~然后安装目录是java提取音频完整代码你的JDK,
再播放MP3文件就:
import javax.media.*;
import java.net.MalformedURLException;
import java.net.URL;
Player player;
File playFile=new File("");//java提取音频完整代码你的MP3文件
try {
player=Manager.createRealizedPlayer(playFile.toURL());
player.prefetch();
player.setMediaTime(new Time(10.0));
player.start();
} catch (NoPlayerException e1)
{
e1.printStackTrace();
} catch (CannotRealizeException e1)
{
e1.printStackTrace();
} catch (MalformedURLException e1)
{
e1.printStackTrace();
} catch (IOException e1)
{
e1.printStackTrace();
}
这种基本代码 , 自己搜一下,用编译器熟悉熟悉JMF的方法就会了 。。。我以前回答别人时的答案~~~
java提取音频完整代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于java提取音频完整代码是什么、java提取音频完整代码的信息别忘了在本站进行查找喔 。
推荐阅读
- R9290配什么CPU,r9290相当于什么显卡
- 创业如何去做营销,创业如何去做营销策划
- 如何将引流,如何将引流量负压转为正压以减少出血量
- redis数据库设置,redis 数据表
- java怎么样讲代码打开 java开始代码
- 包含php和mysql一起使用的词条
- 虎牙直播小火锅是什么,虎牙直播小火锅是什么意思啊
- linux命令行拦截工具,linux禁止命令
- oracle数据库移,oracle数据库移植