精华内容
下载资源
问答
  • java wav文件转换为mp3
    2019-10-14 18:04:38

    ps:利用jave官网提供的jar来解决这一问题。 
    资源下载地址http://www.sauronsoftware.it/projects/jave/download.php 
    这里选择的是 Binaries and documentation 1.0.1 
    转换文件工具类

    import java.io.File;
    import java.io.Serializable;
    
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    
    import it.sauronsoftware.jave.AudioAttributes;
    import it.sauronsoftware.jave.Encoder;
    import it.sauronsoftware.jave.EncodingAttributes;
    
    /**
     * 音频工具类
     *
     */
    @SuppressWarnings("serial")
    public class AudioUtils implements Serializable {
    
    	private static final Log log = LogFactory.getLog(AudioUtils.class);
    
    	/**
    	 * 将音频从wav格式转为mp3格式
    	 * 
    	 * @param inPath
    	 *            要转换的音频路径
    	 * @param outFile
    	 *            转换后的音频路径
    	 * @return true:转换成功 false:转换失败
    	 */
    	public static boolean wavTomp3(String inPath, String outFile) {
    		File file = new File(inPath);
    		try {
    			execute(file, outFile);
    			return true;
    		} catch (Exception e) {
    			log.error("音频转码失败", e);
    		}
    		return false;
    	}
    
    	/**
    	 * 执行
    	 * @param source 要转码的音频文件
    	 * @param desFileName 转码后保存的文件路径
    	 * @return
    	 * @throws Exception
    	 */
    	public static File execute(File source, String desFileName) throws Exception {
    		File target = new File(desFileName);
    		AudioAttributes audio = new AudioAttributes();
    		audio.setCodec("libmp3lame");
    		audio.setBitRate(new Integer(36000));
    		audio.setChannels(new Integer(2));
    		audio.setSamplingRate(new Integer(44100));
    		EncodingAttributes attrs = new EncodingAttributes();
    		attrs.setFormat("mp3");
    		attrs.setAudioAttributes(audio);
    		Encoder encoder = new Encoder();
    		encoder.encode(source, target, attrs);
    		return target;
    	}
    
    	public static void main(String[] args) {
    		String inPath = "D:/audio/Alarm05.wav";
    		String outFile = "D:/audio/Alarm05.mp3";
    		wavTomp3(inPath, outFile);
    	}
    }
    

     

    更多相关内容
  • NULL 博文链接:https://aqbbsxiao.iteye.com/blog/1678039
  • javawav音频文件头分析代码,解析wav音频文件的组成部分以及每个部分的相应的值和类型
  • Java播放wav音频功能的实现代码,播放wav音频,压缩包中带有测试音频,是否能播放 MP3,未知。  boolean looping = false; //是否循环播放  String[] choics = { "chimes.wav", "start.wav" }; //声音文件名数组...
  • 主要介绍了java读取wav文件(波形文件)并绘制波形图的方法,涉及java操作多媒体音频文件转换的相关技巧,需要的朋友可以参考下
  • 里面是一个简单的类,通过打开文件夹选择想要播放的MP3文件。附带了相应的jar包。
  • java播放wav文件

    2021-02-12 16:22:50
    importjava.io.File;importjava.io.IOException;importjavax.sound.sampled.AudioFormat;importjavax.sound.sampled.AudioInputStream;importjavax.sound.sampled.AudioSystem;importjavax.sound.sampled.DataLine.I...

    importjava.io.File;importjava.io.IOException;importjavax.sound.sampled.AudioFormat;importjavax.sound.sampled.AudioInputStream;importjavax.sound.sampled.AudioSystem;importjavax.sound.sampled.DataLine.Info;importjavax.sound.sampled.LineUnavailableException;importjavax.sound.sampled.SourceDataLine;importjavax.sound.sampled.UnsupportedAudioFileException;public classPlayWav {publicPlayWav(String file) {try{//read wav file to audio stream

    AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(newFile(file));//read audio format from stream

    AudioFormat audioFormat =audioInputStream.getFormat();

    System.out.println("采样率:" +audioFormat.getSampleRate());

    System.out.println("总帧数:" +audioInputStream.getFrameLength());

    System.out.println("时长(秒):" + audioInputStream.getFrameLength() /audioFormat.getSampleRate());//SourceDataLine info

    Info dataLineInfo = new Info(SourceDataLine.class, audioFormat);

    SourceDataLine sourceDataLine=(SourceDataLine) AudioSystem.getLine(dataLineInfo);byte[] b = new byte[1024];int len = 0;

    sourceDataLine.open(audioFormat,1024);

    sourceDataLine.start();while ((len = audioInputStream.read(b)) > 0) {

    sourceDataLine.write(b,0, len);

    }

    audioInputStream.close();

    sourceDataLine.drain();

    sourceDataLine.close();

    }catch(UnsupportedAudioFileException e) {

    e.printStackTrace();

    }catch(IOException e) {

    e.printStackTrace();

    }catch(LineUnavailableException e) {

    e.printStackTrace();

    }

    }public static voidmain(String[] args) {new PlayWav("D:\\123.wav");

    }

    }

    import java.io.File;import java.io.IOException;

    import javax.sound.sampled.AudioFormat;import javax.sound.sampled.AudioInputStream;import javax.sound.sampled.AudioSystem;import javax.sound.sampled.DataLine.Info;import javax.sound.sampled.LineUnavailableException;import javax.sound.sampled.SourceDataLine;import javax.sound.sampled.UnsupportedAudioFileException;

    public class PlayWav {public PlayWav(String file) {try {// read wav file to audio streamAudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(file));// read audio format from streamAudioFormat audioFormat = audioInputStream.getFormat();System.out.println("采样率:" + audioFormat.getSampleRate());System.out.println("总帧数:" + audioInputStream.getFrameLength());System.out.println("时长(秒):" + audioInputStream.getFrameLength() / audioFormat.getSampleRate());// SourceDataLine infoInfo dataLineInfo = new Info(SourceDataLine.class, audioFormat);

    SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);byte[] b = new byte[1024];int len = 0;sourceDataLine.open(audioFormat, 1024);sourceDataLine.start();while ((len = audioInputStream.read(b)) > 0) {sourceDataLine.write(b, 0, len);}audioInputStream.close();sourceDataLine.drain();sourceDataLine.close();} catch (UnsupportedAudioFileException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (LineUnavailableException e) {e.printStackTrace();}

    }

    public static void main(String[] args) {new PlayWav("D:\\123.wav");

    }}

    展开全文
  • Java连接WAV文件

    2021-03-06 01:34:47
    这是我的代码,连接四个wav文件并生成wavAppended.wav。这个级联文件很好地在Windows Media Player中播放。但通过PlaySound课程,只能听到one.wav。谁能帮忙?class PlaySound extends Object implements ...

    这是我的代码,连接四个wav文件并生成wavAppended.wav。这个级联文件很好地在Windows Media Player中播放。

    但通过PlaySound课程,只能听到one.wav。

    谁能帮忙?

    class PlaySound extends Object implements LineListener

    {

    File soundFile;

    JDialog playingDialog;

    Clip clip;

    public void PlaySnd(String s) throws Exception

    {

    JFileChooser chooser = new JFileChooser();

    soundFile = new File(s);

    Line.Info linfo = new Line.Info(Clip.class);

    Line line = AudioSystem.getLine(linfo);

    clip = (Clip) line;

    clip.addLineListener(this);

    AudioInputStream ais = AudioSystem.getAudioInputStream(soundFile);

    clip.open(ais);

    clip.start();

    }

    public void update(LineEvent le)

    {

    LineEvent.Type type = le.getType();

    playingDialog.setVisible(false);

    clip.stop();

    clip.close();

    }

    }

    public class Main

    {

    public static void main(String[] args)

    {

    int i;

    String wavFile[] = new String[4];

    wavFile[0] = "D://one.wav";

    wavFile[1] = "D://two.wav";

    wavFile[2] = "D://three.wav";

    wavFile[3] = "D://space.au";

    AudioInputStream appendedFiles;

    try

    {

    AudioInputStream clip0=AudioSystem.getAudioInputStream(new File(wavFile[0]));

    AudioInputStream clip1=AudioSystem.getAudioInputStream(new File(wavFile[1]));

    AudioInputStream clip3;

    for (i=0;i<4;i++)

    {

    appendedFiles = new AudioInputStream(

    new SequenceInputStream(clip0, clip1),

    clip0.getFormat(),

    clip0.getFrameLength() + clip1.getFrameLength());

    AudioSystem.write(appendedFiles, AudioFileFormat.Type.WAVE, new File("D:\\wavAppended.wav"));

    clip3 = AudioSystem.getAudioInputStream(new File("D:\\wavAppended.wav"));

    clip0=clip3;

    clip1 = AudioSystem.getAudioInputStream(new File(wavFile[i+2]));

    }

    PlaySound p = new PlaySound();

    p.PlaySnd("D://wavAppended.wav");

    }

    catch (Exception e)

    {

    e.printStackTrace();

    }

    }

    }

    展开全文
  • 主要介绍了Java实现多个wav文件合成一个的方法,涉及java文件流读写、编码转换、解析等相关操作技巧,需要的朋友可以参考下
  • java播放wav文件用AudioInputStream实现用application打开放不出声音,下面提示错误java.io.IOException:mark/resetnotsupportedatjava.io.InputStream.reset(UnknownSource)atcom.sun.media.sound....

    java播放wav文件

    用AudioInputStream实现

    用application打开

    放不出声音,下面提示错误

    java.io.IOException: mark/reset not supported

    at java.io.InputStream.reset(Unknown Source)

    at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source)

    at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)

    at SoundDemo.(SoundDemo.java:22)

    at SoundDemo.main(SoundDemo.java:43)

    我的wav文件可以放出来的

    代码如下:是摘自一本书上的。

    import java.awt.FlowLayout;

    import java.awt.event.ActionListener;

    import java.awt.event.ActionEvent;

    import java.io.FileInputStream;

    import java.io.InputStream;

    import javax.sound.sampled.AudioInputStream;

    import javax.sound.sampled.AudioSystem;

    import javax.sound.sampled.Clip;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    public class SoundDemo extends JFrame{

    private JButton button=new JButton("暂停");

    private Clip clip;

    public SoundDemo(){

    setSize(300,300);

    setLocation(400,400);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    try{

    InputStream stream=new FileInputStream("song1.wav");

    AudioInputStream audioStream=AudioSystem.getAudioInputStream(stream);

    clip=AudioSystem.getClip();

    clip.open(audioStream);

    clip.start();

    }catch(Exception e){e.printStackTrace();}

    button.addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent event){

    if(button.getText().equals("暂停")){

    clip.stop();

    button.setText("重新开始");

    }

    else{

    clip.start();

    button.setText("暂停");

    }

    }

    });

    setLayout(new FlowLayout());

    add(button);

    }

    public static void main(String[] args){

    SoundDemo frame=new SoundDemo();

    frame.setVisible(true);

    }

    }

    ------解决思路----------------------

    File file=new File("C:\\Users\\Tachibana Kanade\\workspace\\test\\月に祈る ~prologue~.wav");

    AudioInputStream audioStream=AudioSystem.getAudioInputStream(file);

    改成这样了

    可以播放,无错误

    原因不知道怎么回事

    展开全文
  • 主要介绍了java实现切割wav音频文件的方法,结合实例形式详细分析了java切割wav音频文件的相关原理、操作技巧与注意事项,并附带外部jar包供读者下载,需要的朋友可以参考下
  • java切割wav音频文件

    2021-02-25 20:18:17
    import it.sauronsoftware.jave.Encoder;import it.sauronsoftware.jave....import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import ...
  • 如果直接使用wav文件的字节,则可以在任何编程语言中使用相同的策略.对于这个例子,我假设两个源文件具有相同的比特率/ numchannels并且长度/大小相同.(如果没有,你可以在开始合并之前编辑它们).首先看一下wav规范,我...
  • wav 音频文件的内部结构wav 音频文件是一种无损的音频文件, 相对于 MP3 来说音质较好, 当然文件大小也很大A WAVE file is often just a RIFF file with a single WAVE chunk which consists of two sub-chunks a ...
  • 我有一个关于使用Java进行音乐转录的项目,事情是,我创建了一个记录声音并将其保存到WAV文件中的applet,播放器应该只播放他/她想要转录的片段,之后我被卡住了在这一点上,我必须从保存的WAV文件中获取信息并使用此信息...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼public class CutMusic {public static void main(String[] args) {//f1,f2分别为需要剪切的歌曲路径File f1 = new File("D:\\bofangqi\\周杰伦 - 夜曲.wav");...
  • 首先,我想用Java读取一个wav文件并将其字节处理成一个数组.其次,我将删除它的沉默(这是另一个问题的主题).之后,我将该wav文件分成1秒(我应该处理那个小wav文件的头问题,这是主要问题之一)我尝试使用该API读取带有...
  • wav文件播放

    2018-12-06 09:44:05
    wav文件播放 vb源码
  • 音频文件PCM转WAV格式转换类 Utils类 直接可以使用有现成DEMO。感谢评论 音频文件PCM转WAV格式转换类 Utils类
  • InputStream test = new FileInputStream("C:\\Users\\911\\Desktop\\Dou.wav"); BufferedInputStream test1 = new BufferedInputStream(test); AudioInputStream as = AudioSystem....
  • Wav音频文件格式详解

    2021-04-22 11:53:55
    Wav是RIFF的一种音频格式,所以开始的4个字节一定是RIFF这4个char,接下来4个字节是接下来的文件的总长度,加上之前的RIFF占了8字节,所以文件目测总长度应该是这个字节的数值+8,在Wav中所有的数值类的值都是int,...
  • 23 importjava.io.File;4 importjava.io.IOException;5 importjava.io.InputStream;6 importjava.io.SequenceInputStream;7 importjava.util.ArrayList;8 importjava.util.Collections;9 impor...
  • java wav音頻文件播放

    千次阅读 2022-04-01 14:50:37
    wav音頻文件播放及時長 import java.io.File; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Data...
  • 我最终为此使用了Sound Viewer Tool,...如果将以下内容添加到svt.py中:def processWav(filename, channel):"""filename: path to a wav fileChannel: 1 for left, 2 for rightReturns centroids, frequencies, vo...
  • java wav文件转pcm文件

    千次阅读 2015-08-06 10:50:05
    其实wav文件比pcm文件多44字节的头文件,所以直接去掉头文件就行了public static void WavToPcm(String src,String target) { try { FileInputStream fis = new FileInputStream(src); FileOutputStream fos...
  • I use that API to read wav file at Java: Reading and Writing Wav Files in JavaI read a wav file with Java and want to put all the values into an arraylist. I wrote:// Open the wav file specified as th...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,574
精华内容 6,629
关键字:

java wav文件

java 订阅