Hallo miteinander,
ich habe ein kleines Problem und ich hoffe ihr wisst dies zu Lösen
Es geht darum das ich eine Datei konvertiere während natürlich die GUI noch ansprechbar ist.
Dies tue ich mit
und ich Arbeite natürlich mit Threads. Ich habe euch mal ein Beispiel gebastelt ...
So und nun das Problem:
Das konvertieren von mp4 zu mp3 geschieht erst nachdem ich die GUI schliesse?!? Was kann ich tun, damit dies, während ich die GUI offen, habe geschieht?
Gruß
ich habe ein kleines Problem und ich hoffe ihr wisst dies zu Lösen
Es geht darum das ich eine Datei konvertiere während natürlich die GUI noch ansprechbar ist.
Dies tue ich mit
Java:
Runtime.getRuntime().exec("ffmpeg -i C:\\Trailer.mp4 -vn C:\\audio3.mp3");
Java:
public class BeispielProgramm extends javax.swing.JFrame {
public BeispielProgramm() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
panel = new javax.swing.JPanel();
panel.setLayout(new java.awt.BorderLayout());
nebenbei = new javax.swing.JLabel();
starteAktion = new javax.swing.JButton();
starteAktion.setText("Start");
starteAktion.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
starteAktionActionPerformed(evt);
}
});
panel.add(starteAktion, java.awt.BorderLayout.PAGE_START);
nebenbei.setText("");
panel.add(nebenbei, java.awt.BorderLayout.CENTER);
getContentPane().add(panel, java.awt.BorderLayout.CENTER);
pack();
}
private void starteAktionActionPerformed(java.awt.event.ActionEvent evt) {
new NebenbeiThread().start();
new RuntimeThread().start();
}
class NebenbeiThread extends Thread{
@Override
public void run() {
int i = 0;
while(true){
try{
nebenbei.setText(""+i);
this.sleep(1000);
i++;
}catch( Exception e){
System.out.println(e.getMessage());
}
}
}
}
class RuntimeThread extends Thread{
@Override
public void run() {
try{
// Muss ja nicht unbedingt diese Aktion sein, gilt auch für andere Aktionen
Runtime.getRuntime().exec("ffmpeg -i C:\\Trailer.mp4 -vn C:\\audio3.mp3");
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new gg().setVisible(true);
}
});
}
private javax.swing.JPanel panel;
public javax.swing.JLabel nebenbei;
private javax.swing.JButton starteAktion;
}
So und nun das Problem:
Das konvertieren von mp4 zu mp3 geschieht erst nachdem ich die GUI schliesse?!? Was kann ich tun, damit dies, während ich die GUI offen, habe geschieht?
Gruß