⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audioclipcache.java

📁 Java游戏高级编程!!很不错的!!!Java游戏高级编程!!很不错的
💻 JAVA
字号:
     package com.croftsoft.core.media.sound;

     import java.applet.*;
     import java.net.*;
     import java.util.*;     import com.croftsoft.core.lang.NullArgumentException;
     /*********************************************************************
     * Loads, caches, and plays AudioClips with master mute toggle.     *
     * @author     *   <a href="http://www.croftsoft.com/">David Wallace Croft</a>
     *     * @version     *   2003-04-04     *     * @since     *   2003-04-01     *********************************************************************/

     public final class  AudioClipCache     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     {     private final ClassLoader  classLoader;     private final String       mediaDir;
     private final Map          nameToAudioClipMap;     //     private boolean    muted;     private AudioClip  audioClip;
     //////////////////////////////////////////////////////////////////////
     // Constructor methods
     //////////////////////////////////////////////////////////////////////

     public  AudioClipCache (       ClassLoader  classLoader,       String       mediaDir,       Map          nameToAudioClipMap )     //////////////////////////////////////////////////////////////////////     {       NullArgumentException.check ( this.classLoader = classLoader );       this.mediaDir = mediaDir;       NullArgumentException.check (         this.nameToAudioClipMap = nameToAudioClipMap );     }     public  AudioClipCache (       ClassLoader  classLoader,       String       mediaDir )     //////////////////////////////////////////////////////////////////////     {       this ( classLoader, mediaDir, new HashMap ( ) );     }     public  AudioClipCache ( ClassLoader  classLoader )     //////////////////////////////////////////////////////////////////////     {       this ( classLoader, ( String ) null, new HashMap ( ) );     }     //////////////////////////////////////////////////////////////////////     // accessor methods
     //////////////////////////////////////////////////////////////////////     public boolean  isMuted ( ) { return muted; }     //////////////////////////////////////////////////////////////////////     // mutator methods     //////////////////////////////////////////////////////////////////////     public void  clear ( ) { nameToAudioClipMap.clear ( ); }     public void  setMuted ( boolean  muted )     //////////////////////////////////////////////////////////////////////     {       this.muted = muted;       if ( muted )       {         stop ( );       }     }     //////////////////////////////////////////////////////////////////////     //////////////////////////////////////////////////////////////////////     public synchronized void  play ( String  audioClipName )     //////////////////////////////////////////////////////////////////////     {       if ( muted )       {         return;       }       stop ( );              audioClip = ( AudioClip ) nameToAudioClipMap.get ( audioClipName );       if ( audioClip == null )       {         URL  audioClipURL = classLoader.getResource (           mediaDir == null ? audioClipName : mediaDir + audioClipName );         audioClip = Applet.newAudioClip ( audioClipURL );         nameToAudioClipMap.put ( audioClipName, audioClip );       }       audioClip.play ( );            }     public synchronized void  stop ( )     //////////////////////////////////////////////////////////////////////
     {       if ( audioClip != null )       {         audioClip.stop ( );       }     }
     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -