jjzjj

audioInputStream

全部标签

java - 检查混音器线路中的音频播放电平?

我试图弄清楚是否有任何类型的声音在Windows中播放(通过任何应用程序)。如果某处有什么东西在发出声音,我想知道它!按照文档操作后,我找到了如何获取机器上的混音器列表以及这些混音器的行——如果我理解正确的话,这些是用于混音器输入/输出的内容.但是,我遇到的问题是我不知道如何从线路中获取我需要的数据。我看到的唯一具有音量级别概念的接口(interface)是DataLine。问题是我无法弄清楚是什么返回了一个实现数据线接口(interface)的对象。枚举所有混音器和线路:publicstaticvoidprintMixers(){Mixer.Info[]mixers=AudioSys

java - 将音频 byte[] 保存到 wav 文件

在过去几天试图让它工作时遇到了一些麻烦。但我想要的是我们有一个通过网络发送原始数据的应用程序。然后我读入这个二进制数据并想将它保存到一个wav(任何音频)文件中。稍后可能会考虑压缩。所以有问题的代码:byte[]allBytes=...InputStreamb_in=newByteArrayInputStream(allBytes);try{AudioFormatformat=newAudioFormat(8000f,16,1,true,true);AudioInputStreamstream=newAudioInputStream(b_in,format,allBytes.lengt

java - PCM 波形文件 - 立体声到单声道

我有一个立体声音频文件。将它转换为单声道只是跳过每隔一个字节(在标题之后)的情况吗?它以16位签名的PCM格式编码。我有可用的javax.sound.sampled。这是我试过但不起作用的代码:WaveFileWriterwfw=newWaveFileWriter();AudioFormatformat=newAudioFormat(Encoding.PCM_SIGNED,44100,16,2,2,44100,false);AudioFormatmonoFormat=newAudioFormat(Encoding.PCM_SIGNED,44100,16,1,2,44100,false)

java - 通过AudioInputStream读取数据需要关心big endian和little endian吗?

我正在通过AudioInputStream将一个wav文件读入一个字节数组,AudioInputStreamaudiofile=AudioSystem.getAudioInputStream(f);byte[]audio=newbyte[numberofframes*framesize];intbytes=audiofile.read(audio);考虑到数据是按小端排列的,我是否需要排列样本的字节,还是AudioInputStream为我做这件事? 最佳答案 如果数据以超过一个字节的方式编码,例如,位深度为16或更多,无论chan

java - 如何在 Java 中获取 mp3 文件的总时间?

HowdoIgetasoundfile’stotaltimeinJava?中提供的答案适用于wav文件,但不适用于mp3文件。他们是(给定一个文件):AudioInputStreamaudioInputStream=AudioSystem.getAudioInputStream(file);AudioFormatformat=audioInputStream.getFormat();longframes=audioInputStream.getFrameLength();doubledurationInSeconds=(frames+0.0)/format.getFrameRate()

java - "Endless"来自套接字的 AudioInputStream

我在从Socket创建AudioInputStream时遇到问题。以下是重要部分:publicclassSoundStreamextendsThread{privateintport;privateStringIP;privateSocketsocket;privateSoundObjectsoundObject;privateOpenALopenAL;privateSourcesource;privatebooleanrun=true;publicSoundStream(intport,StringIP,SoundObjectsoundObject){this.soundObject

java - 从 Java 连接两个 WAV 文件?

连接两个WAV的最简单方法是什么?Java1.6中的文件?(等频和所有,没什么特别的。)(这可能太简单了,但我的Google-fu今天在这个问题上似乎很薄弱。) 最佳答案 这是准系统代码:importjava.io.File;importjava.io.IOException;importjava.io.SequenceInputStream;importjavax.sound.sampled.AudioFileFormat;importjavax.sound.sampled.AudioInputStream;importjavax

java - 了解 AudioFormat 、 AudioInputStream 和 start 方法的构造函数

我曾尝试编写播放声音文件的程序,但到目前为止还没有成功。我无法理解代码的某些部分:InputStreamis=newFileInputStream("soundfile");AudioFormataf=newAudioFormat(floatsampleRate,intsampleSizeInBits,intchannels,booleansigned,booleanbigEndian);//Idon'tunderstandit'sconstructorlonglength;//lengthinsampleframes//howcaniiknowthelengthofframes?Au

java - java (Android) 中 AudioInputStream 的替代类是什么?

大约一年前,我开始为android构建一个应用程序。现在,当我尝试运行它时,我得到了一个关于AudioInputStream类的异常,在我使用GOOGLE进行了简短的研究之后,我发现android不再支持这个类了......他们有其他选择吗?这是我写的代码:privatevoidmerge2WavFiles(StringwavFile1,StringwavFile2,StringnewWavFilePath){try{Filewave1=newFile(wavFile1);if(!wave1.exists())thrownewException(wave1.getPath()+"-Fi