首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >音频剪辑不会停止

音频剪辑不会停止
EN

Stack Overflow用户
提问于 2014-07-20 01:33:03
回答 1查看 560关注 0票数 0

我有一个函数,它在用户每次点击时都会被调用,如果屏幕发生变化,它就会启动音乐。现在唯一的问题是它并没有停止。我发现这是因为clip = AudioSystem.getClip();不会返回当前播放的剪辑,它每次都会返回一个随机位置。如何确保该剪辑获得当前播放的剪辑的值,以便我可以停止它?

"StartBGMusic“函数

代码语言:javascript
复制
public void startBGMusic() throws LineUnavailableException, IOException
    {   
        clip = AudioSystem.getClip();
        System.out.println(clip);
        try
        {
            if(SCREEN_CHECK != Screen)
            {
                clip.stop();

                clip.close();

                if(Screen != 14 && Screen != 19 && Screen != 16 && Screen != 15 && Screen != 17)
                {
                    clip.open(AudioSystem.getAudioInputStream(getClass().getResource("UpbeatFunk.wav")));
                    clip.loop(99999);
                }
                else
                {
                    clip.open(AudioSystem.getAudioInputStream(getClass().getResource("Background Music.mid")));
                    clip.loop(99999);
                }
            } 

            SCREEN_CHECK = Screen;
        }catch (Exception e)
        {
            e.printStackTrace(System.out);
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-20 01:45:54

根据甲骨文记载,不返回当前播放的声音,而是一个可用于播放音频文件的剪辑对象。

您需要传递一个引用到用于启动音频文件的剪辑。这可以通过返回它/将它作为参数传递,或者通过使用全局变量/getter方法来实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24846527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档