⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wavmux.java

📁 FMJ(freedom media for java)是java视频开发的新选择
💻 JAVA
字号:
package net.sf.fmj.media.multiplexer.audio;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.media.Format;import javax.media.format.AudioFormat;import javax.media.protocol.FileTypeDescriptor;import javax.sound.sampled.AudioFileFormat;import net.sf.fmj.media.codec.JavaSoundCodec;import net.sf.fmj.utility.IOUtils;/** *  * @author Ken Larson * */public class WAVMux extends JavaSoundMux{	public WAVMux()	{		super(new FileTypeDescriptor(FileTypeDescriptor.WAVE), AudioFileFormat.Type.WAVE);	}		public Format setInputFormat(Format format, int trackID)	{		AudioFormat af = (AudioFormat) format;		if (af.getSampleSizeInBits() == 8 && af.getSigned() == AudioFormat.SIGNED)			return null;	// 8-bit is always unsigned for Wav.				if (af.getSampleSizeInBits() == 16 && af.getSigned() == AudioFormat.UNSIGNED)			return null;	// 16-bit is always signed for Wav.		return super.setInputFormat(format, trackID);	}	protected void write(InputStream in, OutputStream out, javax.sound.sampled.AudioFormat javaSoundFormat) throws IOException	{		if (true)		{	super.write(in, out, javaSoundFormat);					}		else		{	// alternative to JavaSound - not necessary.			try			{				byte[] header = JavaSoundCodec.createWavHeader(javaSoundFormat);	// TODO: no length				if (header == null)					throw new IOException("Unable to create wav header");								//System.out.println("WAVMux Header: " + header.length);				out.write(header);								IOUtils.copyStream(in, out);								// TODO: go back and write header.			}			catch (IOException e)			{				e.printStackTrace();				throw e;			}		}	}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -