Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 11.10.2017
Сообщений: 9

Не работает pause и resume в плеере

08.02.2020, 20:05. Показов 994. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package display;
 
import java.awt.EventQueue;
import javax.swing.JFileChooser;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
 
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.JButton;
import java.awt.Font;
import javax.swing.JTextField;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.io.File;
import java.awt.event.ActionEvent;
 
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;
 
public class PlayerGUI {
 
    private JFrame frame;
    private JTextField pathField;
    
    private boolean canResume;
    private int stopped;
    private File songFile;
 
    
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());    
                    
                    PlayerGUI window = new PlayerGUI();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
 
 
    public PlayerGUI() {
        initialize();
    }
 
 
    private void initialize() {
        frame = new JFrame();
        frame.setForeground(Color.BLACK);
        frame.setTitle("GeN.G MP3");
        frame.setBounds(100, 100, 381, 167);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.getContentPane().setLayout(null);
        
        JButton startBtn = new JButton(">");
        startBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                //play audio
                try {
                    Player p = new  Player(new FileInputStream(songFile));
                    p.play();
                } catch (FileNotFoundException e1) {
                    JOptionPane.showMessageDialog(null, "Не выбран файл!", "Ошибка", JOptionPane.ERROR_MESSAGE);
                } catch (JavaLayerException e1) {
                    JOptionPane.showMessageDialog(null, "Не выбран файл!", "Ошибка", JOptionPane.ERROR_MESSAGE);
                }
 
            }
        });
        startBtn.setFont(new Font("Tahoma", Font.PLAIN, 16));
        startBtn.setBounds(0, 42, 264, 65);
        frame.getContentPane().add(startBtn);
        
        pathField = new JTextField();
        pathField.setForeground(Color.GRAY);
        pathField.setEditable(false);
        pathField.setText("\u041F\u0443\u0442\u044C \u043A \u043F\u0435\u0441\u043D\u0435");
        pathField.setBounds(0, 11, 264, 20);
        frame.getContentPane().add(pathField);
        pathField.setColumns(10);
        
        JButton openBtn = new JButton("\u041D\u0430\u0439\u0442\u0438");
        openBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
               open();
            }
        });
        openBtn.setBounds(276, 10, 87, 30);
        frame.getContentPane().add(openBtn);
        
        JButton pauseBtn = new JButton("\u041F\u0430\u0443\u0437\u0430");
        pauseBtn.setBounds(276, 42, 87, 30);
        frame.getContentPane().add(pauseBtn);
        Player.pause();
        
        JButton resumeBtn = new JButton("Resume");
        resumeBtn.setBounds(276, 77, 87, 30);
        frame.getContentPane().add(resumeBtn);
        Player.resume();
    }
 
private void open() {
     try {
         JFileChooser chooser = new JFileChooser();
         chooser.setDialogTitle("Выбери песню для проигрывания...");
         chooser.showOpenDialog(null);
         songFile = chooser.getSelectedFile();
        pathField.setText(songFile.getAbsolutePath());
        
        if (!songFile.getName().endsWith(".mp3")) {
            JOptionPane.showMessageDialog(null, "Неправильное разрешение!", "Ошибка", JOptionPane.ERROR_MESSAGE);
        }
         
     }catch(Exception e1) {
         e1.printStackTrace();
     }
}
}
Не работает и подчеркивается player.pause(); и player.resume();
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2020, 20:05
Ответы с готовыми решениями:

Pause и Resume в Parallel.Foreach
Сделал пробный проект, в котором идет просто вывод переменной из List<int>. При нажатии на кнопку Button2 переменной isPaused...

Jlayer library. Pause and Resume
Здравствуйте! Вопрос к тем, кто работал с библиотекой JLayer! В общем, с горем пополам я сделал паузу в плеере, а вот с продолжением...

Play, Stop, Pause, Resume, Reverse для Gif анимации на кнопке или в других объектах
Собственно в теме все указано. Не подскажете как это реализовать? Хочу сделать красивый анимированный интерфейс на основе Gif анимации.

2
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
08.02.2020, 20:57
Наведи мышь на то, что подчёркивает, прочитай, что пишет, попытайся это осмыслить и подумать над тем, как решить проблему. Не получается? Поищи в интернете то, что тебе показывает, когда наводишь мышь на место с ошибкой. Просмотри все варианты, проанализируй. Подумай, что общего у твоей проблемы с теми, что ты нашёл в интернете. Проанализируй найденные решения и возможность их применения к твоему случаю

Описанное выше способно решить около 97.1337% всех проблем, которые могут возникнуть при написании кода
0
5 / 3 / 2
Регистрация: 21.04.2019
Сообщений: 16
14.02.2020, 01:10
Ты просто забыл добавить ActionListener к ним.
Это можно сделать так:

Java
1
2
3
4
5
6
7
8
9
10
pauseBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Player.pause();
            }
        });
resumeBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                 Player.resume();
            }
});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2020, 01:10
Помогаю со студенческими работами здесь

WaveOut.Pause(); не работает
Здравствуйте! Подскажите, пожалуйста, почему у меня не работет команда waveOut.Pause(); Делаю программу которая, по команде, скачивает из...

Клавиатура - не работает пауза (pause-break)
Подскажите что делать, может я и не туда обратился ещё. Установил не давно игры стратегии а в них не работает пауза (pause-break), хотя на...

Тяжело ли написать утилитку, которая работает как DOS-команда "pause"
Тяжело ли написать утилитку, которая работает как DOS-команда "pause", но с автопродолжением через (например) 10 секунд? Научился...

Не работает system("pause") и getch()
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { int i=0,n=0,j=0,; double...

Почему не работает "system("pause")"?
Почему не останавливается программа в консоли в конце? #include<iostream> #include<locale> #include<string> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru