swing中播放音频文件,封装成类,完美应用
/*** 音频文件已流的方式读入到内存中,然后内存将这个流交给音频设备,* @author Emine Wang*/
class PlayVoice extends Thread {private String filename;//音频文件的路径public PlayVoice(String wavfile) {filename = wavfile;}public void run() {File soundFile = new File(filename);AudioInputStream audioInputStream = null;//音频流try {audioInputStream = AudioSystem.getAudioInputStream(soundFile);} catch (Exception e1) {e1.printStackTrace();return;}AudioFormat format = audioInputStream.getFormat();SourceDataLine auline = null;DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);try {auline = (SourceDataLine) AudioSystem.getLine(info);auline.open(format);} catch (Exception e) {e.printStackTrace();return;}auline.start();int nBytesRead = 0;byte[] abData = new byte[1024];//缓冲在byte中try {while (nBytesRead != -1) {//已循环形式读这个流nBytesRead = audioInputStream.read(abData, 0, abData.length);if (nBytesRead >= 0)auline.write(abData, 0, nBytesRead);}} catch (IOException e) {PlayVoice pv= new PlayVoice("Inocence.wav");pv.start();e.printStackTrace();return;} finally {auline.drain();auline.close();}}}
最后,在你想用的位置实例化这个类的对象,然后用这个对象启动线程
PlayVoice pv = new PlayVoice("nobody.wav");
pv.start();//注意一定要启动这个线程
swing中播放音频文件,封装成类,完美应用相关推荐
- 如何实现在直播中播放音频文件
在我们看直播的时候,经常会在直播过程中听到有掌声.口哨声.背景音乐等音效,那么这些声音特效是如何实现的呢大家有没有想过?anyRTC下面就为大家简单介绍一下如何实现在直播过程中播放音频文件. 功能描述 ...
- linux浏览器不能播放音频文件夹,在html中插入音频文件在浏览器中播放音频文件的兼容性问题...
下面谈谈本人在html中插入音频文件,经过我的本地测试总结的一些问题(播放mp3文件): 1. 问题:IE8上正常(通过media player插件来播放)但在IE6和IE7上不会播放 Firefox ...
- 把你的unity 工程中的cs文件封装成 dll
文章目录 1.打开Visual Studio 新建一个类库(.NET Framework) 项目 2.unity的dll引用:UnityEngine.dll 和 UnityEditor.dll 3.. ...
- java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...
java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...
- java在程序中加入音频_在任意Java程序中播放音频
音频文件有多种格式.Java程序能够播放WAV,AIFF,MIDI,AU和RMF格式的声音文件. 要在Java中播放音频文件,应该先为声音文件创建一个音频剪辑对象(audio clip object) ...
- python飞机大战加背景音乐_python实现飞机大战小游戏 python飞机大战中的音频文件怎么改成MP3...
怎么样用Python写飞机大战游戏 python开发飞机大战外星人游戏怎么弄双人模式新的一年,哪怕仍是一个人,也要活得像一支队伍,为自己的头脑和心灵招兵买马,不气馁,有召唤,爱自由. 主函数 impo ...
- Directx11学习笔记【二】 将HelloWin封装成类
我们把上一个教程的代码封装到一个类中来方便以后的使用. 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 My ...
- Python 将MP3音频文件转换成MIDI乐谱文件
Python 将MP3音频文件转换成MIDI乐谱文件 spleeter 1.系统环境 我的Python环境 安装spleeter pip install spleeter 查看spleeter是否安装 ...
- python播放音频文件_详解使用pygame播放一段MP3音频文件
近日,在梳理pygame模块的时候发现一个很有用的模块mixer模块,这个模块翻译过来就是混音器,它可以加载和播放音频文件,甚至可以对混音器进行设置和处理,其功能非常强大.今天,我们一起来梳理一下混音 ...
最新文章
- JS计算两个时间相差多久,相差年,月,日,小时,分钟
- adas--智能驾驶辅助系统
- 【项目管理】进度管理
- JLupin Next Server乍一看
- OpenCV 4.0 rc版本发布,扩展计算图Graph API
- 2018年90后薪资报告出炉:你在哪个级别???
- 使用Python音频双通道分离
- SLAM Cartographer(10)子图
- 免费电子书:Azure Web Apps开发者入门
- ffmpeg实战教程(七)Android CMake avi解码后SurfaceView显示
- java 多态 显式隐式,Java 构造器中的显式参数和this隐式参数
- SDUT 1149 勾股定理第一弹 勾股数
- php7安装redis扩展和memcache扩展
- electronjs设置宽度_electronjs 入门_2019年2月14日
- 本人正式入驻博客园~
- 有盘和无盘服务器,网吧系统的终极解决之道:无盘系统+有盘(转)
- 西藏自治区市谷歌高清卫星地图下载
- Pikachu的渗透测试
- 劫持流量原理是什么?关于劫持流量的种类和产生
- IDC评述网:11月份海外域名主机服务商TOP10