java - Java:使用javazoom时控制台停止工作

标签 java audio jlayer

当我开始通过javazoom库播放音乐时,控制台会停止应答。我什么都可以写,但没有回应。

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.advanced.AdvancedPlayer;




public class Main {
    
    public static void men(int i) {
        try {
            FileInputStream fis = new FileInputStream("Filename.WAV");
            AdvancedPlayer player = new AdvancedPlayer(fis);
            player.play();  
        }catch(FileNotFoundException e){
            e.printStackTrace();
        }catch(JavaLayerException e) {
            e.printStackTrace();
        }
    }
    
    public static Scanner scn = new Scanner(System.in);


    public static void main(String[] args) {

        while(true) {
            int i = scn.nextInt();
            if(i == 1) {
                men(i);
            }
            if(i == 5) {
                System.out.println("i am here");
            }
        }   
    }
}
有解决方案吗?还是javazoom无法播放音频并执行其他操作?

最佳答案

我不清楚“控制台停止回答”和“Javazoom无法播放音频或执行其他操作”是什么意思。
您可以在其自己的线程中执行javazoom play命令。当该线程同时运行时,您的程序将可以自由执行其他任务。
您知道如何创建和启动线程吗?这是Oracle的教程Processes and Threads

关于java - Java:使用javazoom时控制台停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64047333/

相关文章:

ruby - 是否可以直接从Ruby编写音频文件?

java - 在不同线程中播放多个 MP3 轨道

java - Java 应用程序的安全桌面模式效果

java - 将一个java项目(我在里面用JLayer 1.0.1来播放mp3)转为可运行的jar文件

java - 如何在几分钟内检索两个 Date 实例之间的差异?

java - Scriptella:如何从 clob 对象动态获取数据,然后将其插入数据库?

java - 如何为 git 准备简单的 crud java 项目

java - 一次持久化多个对象

ios - 将多个音频文件作为一个顺序播放

java - "W/AudioFlinger( 34): write blocked for 70 msecs, 2236 delayed writes, thread "是什么意思?