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

📄 datatype.java

📁 是用JAVA开发的播放器
💻 JAVA
字号:
package skullplay;
import javax.sound.sampled.*;
import java.io.*;
public class DataType
{
	private AudioInputStream fileis=null,soundis=null;
	private AudioFormat fileaf,soundaf1,soundaf2,soundall=null;
	private float sampleRate;
	private int channels;
	public DataType()
	{}
	public AudioInputStream getSoundInputStream()
	{
		return soundis;
	}
	public AudioInputStream getFileInputStream()
	{
		return fileis;
	}
	public AudioFormat getSoundFormat()
	{
		return soundall;
	}
	public void getFile(File file)
	{
		try
		{
			fileis=AudioSystem.getAudioInputStream(file);//把文件数据放入声音流里去!
		}
		catch (UnsupportedAudioFileException eus)
		{
			System.out.println("file->audio:你输入的不是有效的音乐文件!\n"+eus);
		}
		catch(IOException eio)
		{
			System.out.println("file->audio:I/O出现错误!\n"+eio);
		}
		fileaf=fileis.getFormat();//获得声音流的原始格式!
		sampleRate=fileaf.getSampleRate();
		channels=fileaf.getChannels();
		if(fileaf.isBigEndian())//建立要转换的格式,主要针对MP3!
		{
			soundaf2=new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,sampleRate,8,channels,2,sampleRate,true);
			soundaf1=new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,sampleRate,16,channels,4,sampleRate,true);
		}
		else
		{
			soundaf1=new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,sampleRate,16,channels,4,sampleRate,false);
			soundaf2=new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,sampleRate,8,channels,2,sampleRate,false);
		}
		if(AudioSystem.isConversionSupported(soundaf1,fileaf))//开始转换格式,
		{
			soundis=AudioSystem.getAudioInputStream(soundaf1,fileis);
			soundall=soundaf1;
			soundaf1=null;
			soundaf2=null;
			fileaf=null;
		}
		else
		{
			if(AudioSystem.isConversionSupported(soundaf2,fileaf))
			{
				soundis=AudioSystem.getAudioInputStream(soundaf2,fileis);
				soundall=soundaf2;
				soundaf1=null;
				soundaf2=null;
				fileaf=null;
			}
			else//WAV格式将不进行转换!
			{
				soundis=fileis;
				soundall=fileaf;
				soundaf1=null;
				soundaf2=null;
				fileaf=null;
			}
		}
	}
};

⌨️ 快捷键说明

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