首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有办法停止在剪辑中间播放音频剪辑?

是否有办法停止在剪辑中间播放音频剪辑?
EN

Stack Overflow用户
提问于 2022-09-20 15:45:55
回答 1查看 28关注 0票数 1

我正在开发一个闹钟程序,播放一个音频剪辑作为警报。我可以成功地播放音频剪辑,并终止不活动的警报。但是,当我试图终止当前正在播放的警报时,音频会继续播放。我尝试过的解决方案是将剪辑设置为null,clip.stop();以及

代码语言:javascript
复制
public void stopSound(Clip clip){
    clip.stop();
    clip.flush();
    clip.close();
}

是否有办法通过剪辑以任意百分比结束剪辑?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-21 13:09:58

这对我有用。它在玩了5秒后就停止了。

代码语言:javascript
复制
import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

public class Main {

    public static void main(String[] args) {
        playMusic("<Type your path to music here>");
    }


    static void playMusic(String musicLocation) {
        new Thread(() -> {
            try {
                File musicPath = new File(musicLocation);
                if (musicPath.exists()) {
                    AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicPath);
                    Clip clip = AudioSystem.getClip();
                    clip.open(audioInput);
                    clip.start();

                    TimeUnit.SECONDS.sleep(5);

                    clip.stop();
                } else {
                    System.out.println("Can't find file");
                }
            } catch (IOException | UnsupportedAudioFileException | LineUnavailableException | InterruptedException e) {
                throw new RuntimeException(e);
            }
        }).start();
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73789405

复制
相关文章

相似问题

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