java 播放midi,wav,mp3
来源:互联网 发布:淘宝信用卡在哪办理 编辑:程序博客网 时间:2024/06/10 05:58
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import java.io.IOException;
import java.io.File;
public class BasicPlayer {
private AudioInputStream stream = null;
private AudioFormat format = null;
private Clip clip = null;
private SourceDataLine m_line;
public void play(File fileName,int itemStatus)
{
try {
// From file
stream = AudioSystem.getAudioInputStream(fileName);
// At present, ALAW and ULAW encodings must be converted
// to PCM_SIGNED before it can be played
format = stream.getFormat();
if (format.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {
format = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
format.getSampleRate(),
16,
format.getChannels(),
format.getChannels() * 2,
format.getSampleRate(),
false); // big endian
stream = AudioSystem.getAudioInputStream(format, stream);
}
// Create the clip
DataLine.Info info = new DataLine.Info(SourceDataLine.class, stream.getFormat(), AudioSystem.NOT_SPECIFIED);
m_line = (SourceDataLine) AudioSystem.getLine(info);
m_line.open(stream.getFormat(),m_line.getBufferSize());
m_line.start();
int numRead = 0;
byte[] buf = new byte[m_line.getBufferSize()];
while ((numRead = stream.read(buf, 0, buf.length)) >= 0) {
int offset = 0;
while (offset < numRead) {
offset += m_line.write(buf, offset, numRead-offset);
}
}
m_line.drain();
m_line.stop();
m_line.close();
stream.close();
} catch (IOException e) {
e.printStackTrace();
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
}
}
public double getDuration()
{
return m_line.getBufferSize() /
(m_line.getFormat().getFrameSize() * m_line.getFormat().getFrameRate());
}
public double getDecision()
{
return m_line.getMicrosecondPosition()/1000.0;
}
}
- java 播放midi,wav,mp3
- java 播放midi,wav,mp3
- C#播放wav,MP3
- MP3/WAV 播放
- java 播放midi
- Java WAV转MP3
- java编程播放midi音乐
- Java MIDI音乐播放代码
- Java 添加播放MIDI音乐
- 用DELPHI播放WAV和MP3
- c#播放wav/mp3格式的声音
- JAVA 播放WAV格式文件
- java 播放 wav 声音文件
- Java-播放WAV音频
- java.media类实现的可以播放WAV和MP3格式的文件
- midi播放
- java编程播放midi音乐(摘录)
- java wav文件转换为mp3
- [zt] More on Generics in the CLR
- [译文]Winsock API实现了一个Tcp服务器 - for 初学者
- 学生程序员与职业程序员的不同
- Rfc2111
- 随手拈来
- java 播放midi,wav,mp3
- Tomcat下JSP、Servlet和JavaBean环境的配置
- 两个frame之间通信
- 缓冲(Buffer)解释
- [收藏]ASP.Net生成静态HTML页 选择自 coofucoo 的 Blog
- 报刊
- 正则表达式 过滤html
- Asp.net(C#)实现验证码功能
- 基于数据库的树型结构方案(存储过程实现)