Java runtime.exec进程挂起

时间:2018-12-02 01:47:06

标签: java ffmpeg runtime.exec

因此,基本上我的程序创建了一个ffplay(基于ffmpeg的程序,用于播放音频和视频)的进程,但是挂起(必须强制杀死该程序,装入死亡轮等),播放时间约为15秒。有趣的是,我用-autoexit调用它,它应该在音频或视频末尾杀死程序,但是它不会关闭。

import java.lang.Runtime;
import java.lang.Process;
import java.io.IOException;
public class FFPlay
{
    Process proc;
    public FFPlay(String fileToPlay, String fileName) 
    {
        try
        {
            String[] command = {"/Users/myusername/Documents/Java Projects/SwingTest/ffplay", "-window_title", fileName, "-x", "500", "-y", "500", "-autoexit", fileToPlay};
            proc = Runtime.getRuntime().exec(command); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
    } 
}

那我做错了什么?这是执行二进制文件的不好方法吗?我对运行时和流程类一无所知。

编辑:调用上述类的方法

public void mouseClicked(MouseEvent e)
{
    if (e.getClickCount() == 2)
    {
        int index = songList.locationToIndex(e.getPoint());
        FFPlay player = new FFPlay(songList.getModel().getElementAt(index).toString(),songList.getModel().getElementAt(index).getName());
    }
}

0 个答案:

没有答案