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的更多相关文章

  1. Java应用程序中的声音播放

    声音可以创造意境,触发遐想,当与虚拟图像相结合时,更加可以让整个世界充满幻觉,声音是多媒体技术的基础. 播放声音是Java对多媒体的支持一个重要部分,它支持的声音文件类型主要有: AU - (扩展名为 ...

  2. 关于Unity中的声音管理模块(专题七)

    声音的要素 1: 音频文件AudioClip2: 音源AudioSource;3: 耳朵AudioListener;//全局只能有一个4: 2D/3D音频;//2D只是简单地播放声音,3D可以根据距离 ...

  3. 简单代码在ABAP中实现声音的播放

    这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多.将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序. REP ...

  4. 在VC资源文件中加入声音资源

    本文介绍如何在VC资源文件中加入自己的声音资源,使自己的应用程序可以播放声音. 1.首先用文本编辑器(如记事本)打开资源文件(.rc文件) 在最后加入自己的声音资源,如下IDW WAVE " ...

  5. Cocos2d-X中的声音和音效

    在玩游戏时都会有各种游戏音,如启动游戏时会有背景音,胜利或者失败会有一些音效.在Cocos2d-X中能够使用CocosDenshion实现各种声音 在使用CocosDenshion之前须要在程序中加入 ...

  6. 关于Unity中3D声音的使用

    3D声音 3D立体声和2D声不同的地方是它是会随着距离衰减的,距离越近声音越大,距离越远声音越小. 1: 声音: 背景音乐和音效; 2: 声音文件支持的格式: ogg, mp3, wave, AIFF ...

  7. 关于解决用tutorial7教程中的代码打造一款自己的播放器中的声音噪音问题

    ////////////////////////////////////////////////////////////////////////////////////////////对于用FFMPE ...

  8. android中常见声音操作方式(Ringtone,SoundPool,MediaPlayer)小结

    在Android开发中有时候需要用到播放声音操作,在android API 的media包中有三种方式可供我们选择,它们分别是Ringtone,SoundPool,MediaPlayer.因为在我目前 ...

  9. 使用Camtasia来消除视频中的声音

    大多数情况下,我们在录制电脑屏幕的时候都会把音频输出也一起录制下来,但也会有时候要后期进行重新配音,需要把事先一同录制的音频消除掉,今天小编来给大家说一说如何消除这种的视频声音. 首先打开Camtas ...

随机推荐

  1. 15个值得开发人员关注的jQuery开发技巧和心得

    在这篇文章中,我们将介绍15个让你的jQuery更加有效的技巧,大部分关于性能提升的,希望大家能够喜欢! 1. 尽量使用最新版本的jQuery类库 jQuery项目中使用了大量的创新.最好的方法来提高 ...

  2. Unity3d 获取屏幕depth与normal

    Depth 获取Depth的几种方法,分别有不同效果 1. <span style="font-size:14px;">            float2 depth ...

  3. C++之函数指针

    函数指针常用的有三类 1.指向普通函数的函数指针 2.指向类中静态成员函数的函数指针 3.指向类的成员函数的函数指针 一.指向普通函数的函数指针 #include <iostream> u ...

  4. margin设置为负数

    1.为负margin“平反” 我们在CSS中都会使用margin,但将margin设置成负数,那可能就不大好处理了.在网页设计中,人们对负margin用法的态度大相径庭,有的人非常喜欢,而有的人则认为 ...

  5. YUV像素和ycbcr

    一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少.一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147 ...

  6. 更改mysql数据库latin1_swedish_ci为utf8

    原文在http://bingu.net/472/latin1_swedish_ci-to-utf8_general_ci/把下列文件保存为一个.php文件,然后运行 <?phpdefine('D ...

  7. poj 2449 第k短路

    题目链接:http://poj.org/problem?id=2449 #include<cstdio> #include<cstring> #include<iostr ...

  8. hdoj 1384 Intervals

    Intervals Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  9. window7 输入什么命令可以快速打开服务管理?? 虚拟机设置了NAT网络连接方式,还是无法上网?

    window7 输入什么命令可以快速打开服务管理?? 虚拟机设置了NAT网络连接方式,还是无法上网? 1.我遇到的问题? 在虚拟机安装了linux系统,并且把网络连接方式设置为NAT,如图: 意思就是 ...

  10. Microsoft office word关闭英文输入首字母大写设置

    1.概述: 在使用office word的时,经常出现输入一段不需首字母大写的英文时,通常敲击完回车时word会自动将首字母大写,需要重新将首字母修改成小写,这样操作很不方便.于是需要对这个功能进行一 ...