J2se中的声音---AudioPlayer
1 package cn.gp.tools; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream; import sun.audio.AudioPlayer;
import sun.audio.AudioStream; /**
* 背景音效工具类
* @author 小风微灵
*
*/
public class MusicUtil { /**
* 播放触发音效
* @param isPlay 是否播放
* @param pathIndex 播放序列
*/
public static void playMusic(boolean isPlay,int pathIndex) {
// 打 开 一 个 声 音 文 件 流 作 为 输 入
InputStream in;
try {
String musicPath=ImageUtil.getProgramRootPath()+"music/btn_music_"+pathIndex+".wav";
in = new FileInputStream (musicPath);
//System.out.println("音乐路径:"+musicPath);
AudioStream as = new AudioStream (in); // 用 输 入 流 创 建 一 个AudioStream 对 象
//System.out.println("成功转换成音乐流:");
if(isPlay){//【改为:isPlay后音效恢复】
AudioPlayer.player.start (as); //“player” 是AudioPlayer 中 一 静 态 成 员 用 于 控 制 播 放
//System.err.println("音乐播放中....");
}else{
AudioPlayer.player.stop (as);
//System.err.println("音乐停止....");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 播放指定音乐
* @param isPlay 是否播放
* @param musicName 音乐名称
*/
public static void playMusic(boolean isPlay,String musicName) {
// 打 开 一 个 声 音 文 件 流 作 为 输 入
InputStream in = null;
AudioStream as = null;
try {
String musicPath=ImageUtil.getProgramRootPath()+"music/"+musicName;
in = new FileInputStream (musicPath);
//System.out.println("音乐路径:"+musicPath);
as = new AudioStream (in); // 用 输 入 流 创 建 一 个AudioStream 对 象
//System.out.println("成功转换成音乐流:");
if(isPlay){
AudioPlayer.player.start (as); //“player” 是AudioPlayer 中 一 静 态 成 员 用 于 控 制 播 放
//System.err.println("音乐播放中....");
}else{
AudioPlayer.player.stop (as);
//System.err.println("音乐停止....");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally{
try {
as.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
} }
}
/**
* 默认播放的音效
* @param isPlay 是否播放
*/
public static void playMusic(boolean isPlay) {
// 打 开 一 个 声 音 文 件 流 作 为 输 入
InputStream in;
try {
String musicPath=ImageUtil.getProgramRootPath()+"music/btn_music_5.wav";
in = new FileInputStream (musicPath);
//System.out.println("音乐路径:"+musicPath);
AudioStream as = new AudioStream (in); // 用 输 入 流 创 建 一 个AudioStream 对 象
//System.out.println("成功转换成音乐流:");
if(isPlay){
AudioPlayer.player.start (as); //“player” 是AudioPlayer 中 一 静 态 成 员 用 于 控 制 播 放
//System.err.println("音乐播放中....");
}else{
AudioPlayer.player.stop (as);
//System.err.println("音乐停止....");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
J2se中的声音---AudioPlayer的更多相关文章
- Java应用程序中的声音播放
声音可以创造意境,触发遐想,当与虚拟图像相结合时,更加可以让整个世界充满幻觉,声音是多媒体技术的基础. 播放声音是Java对多媒体的支持一个重要部分,它支持的声音文件类型主要有: AU - (扩展名为 ...
- 关于Unity中的声音管理模块(专题七)
声音的要素 1: 音频文件AudioClip2: 音源AudioSource;3: 耳朵AudioListener;//全局只能有一个4: 2D/3D音频;//2D只是简单地播放声音,3D可以根据距离 ...
- 简单代码在ABAP中实现声音的播放
这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多.将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序. REP ...
- 在VC资源文件中加入声音资源
本文介绍如何在VC资源文件中加入自己的声音资源,使自己的应用程序可以播放声音. 1.首先用文本编辑器(如记事本)打开资源文件(.rc文件) 在最后加入自己的声音资源,如下IDW WAVE " ...
- Cocos2d-X中的声音和音效
在玩游戏时都会有各种游戏音,如启动游戏时会有背景音,胜利或者失败会有一些音效.在Cocos2d-X中能够使用CocosDenshion实现各种声音 在使用CocosDenshion之前须要在程序中加入 ...
- 关于Unity中3D声音的使用
3D声音 3D立体声和2D声不同的地方是它是会随着距离衰减的,距离越近声音越大,距离越远声音越小. 1: 声音: 背景音乐和音效; 2: 声音文件支持的格式: ogg, mp3, wave, AIFF ...
- 关于解决用tutorial7教程中的代码打造一款自己的播放器中的声音噪音问题
////////////////////////////////////////////////////////////////////////////////////////////对于用FFMPE ...
- android中常见声音操作方式(Ringtone,SoundPool,MediaPlayer)小结
在Android开发中有时候需要用到播放声音操作,在android API 的media包中有三种方式可供我们选择,它们分别是Ringtone,SoundPool,MediaPlayer.因为在我目前 ...
- 使用Camtasia来消除视频中的声音
大多数情况下,我们在录制电脑屏幕的时候都会把音频输出也一起录制下来,但也会有时候要后期进行重新配音,需要把事先一同录制的音频消除掉,今天小编来给大家说一说如何消除这种的视频声音. 首先打开Camtas ...
随机推荐
- 【转】压缩Virtualbox的vdi文件
原文网址:http://i.rexdf.org/blog/2014/10/06/ya-suo-virtualboxde-vdiwen-jian/ 问题实际上比较简单,我在Arch Linux杂记中给出 ...
- Java---网络编程(3)-TCP-互传文件和图片
☆ TCP 建立连接,形成传输数据的通道. 在连接中进行大数据量传输 通过三次握手完成连接,是可靠协议 必须建立连接,效率会稍低 Socket 和 ServerSocket类 TCP传输 TCP So ...
- C# Dictionary的xml序列化
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 使用 环境变量 来配置批量配置apache
使用apache的DAV假设了一个GIT仓库.需要为每个项目写一个配置项, 配置内容如下 <directory "/srv/abcdfdfdjkdfjkgjjdhjklfdjjfdfd ...
- Uncode-Schedule首页、文档和下载 - 分布式任务调度组件 - 开源中国社区
Uncode-Schedule首页.文档和下载 - 分布式任务调度组件 - 开源中国社区 分布式任务调度组件 Uncode-Schedule
- 常见的HTTP状态码深入理解
状态码的职责是当客户端向服务器端发送请求时,描述返回请求结果.借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了什么错误. RFC2616定义的状态码,由3位数字和原因短信组成. 数字中的第 ...
- windows Nginx基本使用方法
相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了 ...
- PHP+IIS7+PHPMangerForIIS搭建开发环境
准备工作 1.安装IIS 2.安装php 3.安装phpmanager 准备工作做好后,开始搭建环境 1.在Internet信息服务管理器下找到PHPManager 2.点击Register new ...
- nandflash中oob、ecc分析
1.为何需要分析? 最近一直接触这类驱动,如果对它的原理不懂的话,驱动调试会很麻烦!!!!!! 2.ecc? nand的纠错能力,目前有1位.4位和8位,也就是说在512字节中如果是4位的ecc那就可 ...
- CSS——(1)基础
CSS(Cascading Style Sheets)层叠样式表 含义 一种计算机语言: 能够实现网页与内容分离: 用来表现文件样式,如HTML或XML: 比較 div与css 假设说div是容器的话 ...