关于JAVA播放声音文件
(此贴谨向,菜鸟级JAVA程序员提供便利,呵呵,,若有幸高手出现,还望多多指点。小弟甚欢!)
最近忙于开发一套监控系统。
需要报警声音。
在寻求解决方案的时候,出现两种方案。
一、用javax.sound.sampled.*包,进行声音处理。
二、用sun.audio.AudioPlayer包,进行声音处理。
第一种方案用起来,会经常性出现卡滞现象,让我苦恼不已。而第二种方案,显然被大家认可,网上也有很多人推荐,然而此方案的循环播放处理,却很少有人发帖。。郁闷的很。。
哈哈,,前边都是废话,,当然我现在解决的,,也非常简单。 把文件抛出来了。。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import sun.audio.AudioData;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
import sun.audio.ContinuousAudioDataStream;
public class Sound {
private ContinuousAudioDataStream gg ;
public Sound(String Filename) {
try{
InputStream in = new FileInputStream(Filename);
AudioStream as = new AudioStream(in);
AudioData data = as.getData();
gg= new ContinuousAudioDataStream (data); //此举即为循环播放之用
} catch(FileNotFoundException e){
//
} catch(IOException e){
//
}
}
public void play(){
AudioPlayer.player.start(gg);
}
public void stop(){
AudioPlayer.player.stop(gg);
}
}
有需要的分享,,更好逻辑还望各位大虾指点指点。。
相关文档:
java如何获得存储过程的参数(例子)
Connection conn = JDBCUtils.getConnection();
DatabaseMetaData dbmd = conn.getMetaData();
ResultSet rs = dbmd.getProcedureColumns(null, " ......
看了java私塾的中级视频,感觉很全面,总结整理出了一些Eclipse快捷键,希望对有用的朋友有所帮助:
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实 ......
在现代的操作系统中,有一个很重要的概念――线程,几乎所有目前流行的操作系统都支持线程,线程来源于操作系统中进程的概念,进程有自己的虚拟地址空间以及正文段、数据段及堆栈,而且各自占有不同的系统资源(例如文件、环境变量等等)。与此不同,线程不能单独存在,它依附于进程,只能由进程派生。如果一个进程派生出了 ......
1、页面编码与后台类编码不一致。
2、后台类与数据库交互保持数据时产生乱码。解决方法:可以在驱动的url参数中指定。
3、读文件/流时产生乱码。解决方法:建议使用FileReader和FileWriter的父类:InputStreamReader/OutputStreamWriter,它们在构造函数中可以指定编码类型:InputStreamReader(InputStream in, Charset c ......