Spark研究笔记10:重要的工厂类SoundManager(原创) CVT

SoundManager用于控制内置的声音文件,主要的方法:

public void playClip(final AudioClip clip) {

        final Runnable playThread = new Runnable() {
            public void run() {
                try {
                    clip.play();
                }
                catch (Exception ex) {
                    System.err.println("Unable to load sound file");
                }
            }
        };

        TaskEngine.getInstance().submit(playThread);
    }


    public void playClip(final File soundFile) {
        final Runnable playThread = new Runnable() {
            public void run() {
                try {
                    final URL url = soundFile.toURI().toURL();
                    AudioClip ac = fileMap.get(url);
                    if (ac == null) {
                        ac = Applet.newAudioClip(url);
                        fileMap.put(url, ac);
                    }
                    ac.play();
                }
                catch (MalformedURLException e) {
                    Log.error(e);
                }
            }
        };

        TaskEngine.getInstance().submit(playThread);
    }

TaskEngine 是Spark的一个线程操作类,执行工作线程的任务,它也允许要调度的任务运行在未来指定的时间。

原文地址:https://www.cnblogs.com/openfire/p/3047624.html