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

Не воспроизводится аудио

17.05.2021, 12:02. Показов 1200. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал простенький аудио плеер с библиотекой jaco. но звук не воспроизводится.
Main.
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
package com.company;
 
import java.io.File;
import java.awt.Dimension;
import jaco.mp3.player.MP3Player;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main {
 
    public Main() {
 
    }/**
     * Метод main использует аргументы из ViewClass для выполнения приложения.
     */
    public static void main(String[] args) {
        ViewClass.main(args);
    }
 
    public void addToPlayList(File file) {
    }
 
    public void pause() {
    }
 
    public void stop() {
    }
 
    public void play() {
    }
 
 
}
PlayerInterface
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.company;
import java.awt.Dimension;
import jaco.mp3.player.MP3Player;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public interface PlayerInterface {
    public void play() throws InterruptedException;
    public void pause();
    public void stop();
    public void browse();
}
PlayerMethods
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
package com.company;
import jaco.mp3.player.MP3Player;
import javax.swing.*;
import java.io.File;
import java.awt.Dimension;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PlayerMethods implements PlayerInterface {
    private File file;
    Main mp3Player = new Main();
 
    public File getFile() {  //геттер для файла
        return file;
    }
 
    public void setFile(File file) {  //сеттер для файлв))0)
        this.file = file;
    }
 
    public Main getMp3Player() {  //геттер для мп3
        return mp3Player;
    }
 
    public void setMp3Player(Main mp3Player) {  //сеттер для мп3
        this.mp3Player = mp3Player;
    }
 
    @Override
    public void pause() {  //пауза
        mp3Player.pause();
    }
 
    @Override
    public void stop() {  //стоп
        mp3Player.stop();
    }
 
    @Override
    public void play() throws InterruptedException {  //play
        mp3Player.play();
 
        }
 
 
    @Override
    public void browse() {  //метод для просматривания
        String userDir = System.getProperty("user.home"); //домашний каталог текущего вошедшего в систему пользователя
        JFileChooser fc = new JFileChooser(userDir); //инструмент JFileChooser, для выбора файлов и каталогов
        int status = fc.showOpenDialog(null); //Функция открытия диалогового окна «Открыть файл»
 
        if (status == JFileChooser.APPROVE_OPTION) {  //если выбрано утверждение(да, ок)
            file = fc.getSelectedFile();  //чтение выделенного файла
            mp3Player.stop();
            mp3Player = new Main();
            mp3Player.addToPlayList(file);
            file = fc.getSelectedFile();
            System.out.println(file.getName());
            try {
                play();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        } else if (status == JFileChooser.CANCEL_OPTION) {
            System.out.println("Закрыто");
        }
    }
 
}
View Class
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.company;
import sun.print.PathGraphics;
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import jaco.mp3.player.MP3Player;
 
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineEvent;
import javax.sound.sampled.LineListener;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.awt.Dimension;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
/**
 * ViewClass содержит в себе GUI для mp3 плеера
 */
public class ViewClass extends JFrame {
    private JFrame frame; //оконное приложение
    public JTextField txtPlaying;  //позволяет выводить текст в UI
    PlayerMethods playerMethods = new PlayerMethods();
    private PathGraphics g;
   // Image image = new ImageIcon("w496h4961380477227world.png").getImage();
 
    /**
     * Запуск приложения
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {   //ключевой момент программы, это функция, которая посылает
            // задание текущего потока на очередь к выполнению в главный поток
            public void run() {
                try {
                    ViewClass window = new ViewClass();
                    window.frame.setVisible(true); //?? делаем окно видимым
                } catch (Exception e) {
                    e.printStackTrace();  //печать места, где произошло исключение
                }
            }
        });
    }
 
    /**
     * Создание приложения
     */
    public ViewClass() {
        initialize();
    }
 
    /**
     * Инициализация содержимого в фрейме
     */
    private void initialize() {
        frame = new JFrame("Spotify");  //оконное приложение
        frame.getContentPane().setBackground(Color.LIGHT_GRAY);  //Обратиться к панели содержимого и сделать ее черной
        frame.setBounds(525, 300, 530, 570); //установить ее положение и размеры
        frame.setResizable(false); //запретить изменение размеров
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //при закрытии окна закрывается и приложение
        frame.getContentPane().setLayout(null); //компоновщик контейнера? Определяет менеджера размещения
 
            //g.drawImage(image, 150, 150, null);
        /**
         * кнопка воспроизведения с помощью метода из PlayMethod
         */
        JButton btnPlay = new JButton("Play");    //кнопка play
        btnPlay.addActionListener(new ActionListener() {   //ActionListener - механизм обратного вызова
            public void actionPerformed(ActionEvent e) {
                try {
                    playerMethods.play();
                } catch (InterruptedException interruptedException) {
                    interruptedException.printStackTrace();
                }
                txtPlaying.setText("Playing: " + playerMethods.getFile().getName()); //вывод TextField
            }
        });
        btnPlay.setBackground(Color.WHITE); //цвет кнопки
        //btnPlay.setIcon(new ImageIcon(ViewClass.class.getResource("/resources/play.jpg"))); //фото кнопки
        btnPlay.setBounds(40, 450, 117, 41); //расположение кнопки
        frame.getContentPane().add(btnPlay); //добавить на панель кнопку
 
        /**
         * кнопка паузы с помощью метода из PlayMethod
         */
        /*JButton btnPause = new JButton("Пауза");
        btnPause.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                playerMethods.pause();
                txtPlaying.setText("Пауза: " + playerMethods.getFile().getName());
            }
        });
        btnPause.setBackground(Color.WHITE);
 
        //btnPause.setIcon(new ImageIcon(ViewClass.class.getResource("/resources/pause.jpg")));
        btnPause.setBounds(195, 450, 117, 41);
        frame.getContentPane().add(btnPause);
*/
        /**
         * кнопка просмотреть с помощью метода из PlayMethod
         */
        JButton btnBrowse = new JButton("Browse");
 
        btnBrowse.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                playerMethods.browse();
                txtPlaying.setText("Играет: " + playerMethods.getFile().getName());
            }
        });
        btnBrowse.setBackground(Color.WHITE);
     //   ImageIcon brows = new ImageIcon("D://Users/TPEHE/IdeaProjects/Курсовая/src/w496h4961380477227world.png");
       // btnBrowse.setIcon((Icon) brows.getImage());
        btnBrowse.setBounds(480, 495, 30, 30);
        frame.getContentPane().add(btnBrowse);
 
        /**
         * кнопка стоп для остановки с помощью метода из методов проигрывателя
         */
        JButton btnStop = new JButton("Стоп");
        btnStop.setBackground(Color.WHITE);
        btnStop.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                playerMethods.stop();
                txtPlaying.setText("Остановилась: " + playerMethods.getFile().getName());
            }
        });
        btnStop.setBounds(350, 450, 117, 41);
        //btnStop.setIcon(new ImageIcon(ViewClass.class.getResource("/resources/stop.jpg")));
        frame.getContentPane().add(btnStop);
 
        /**
         * настройка текста для текстового поля
         */
        txtPlaying = new JTextField();
        txtPlaying.setHorizontalAlignment(SwingConstants.CENTER);
        txtPlaying.setEditable(false);
        txtPlaying.setBounds(5, 400, 505, 25);
        txtPlaying.setText("Добро пожаловать в Spotify!");
        frame.getContentPane().add(txtPlaying);
        txtPlaying.setColumns(10);
 
 
 
        }
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2021, 12:02
Ответы с готовыми решениями:

Не воспроизводится аудио
Добрый день. Помогите с решением. Стоит joomla 2.5, графический редактор jck editor, добавляю в материал аудио я или еще коллега, у...

Не воспроизводится аудио
Добрый день! Подскажите кто знает, столкнулся с такой проблемой впервые. Нужно воспроизвести один файл на ПК UAKJY76LTvU Но...

Не воспроизводится аудио на Ubuntu
Здравствуйте, уважаемые форумчане! Обращаюсь к вам за помощью, выручайте! При открытии mp3 файлов вылазиет следующая ошибка: Ошибка...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2021, 12:02
Помогаю со студенческими работами здесь

Все видео воспроизводится как аудио
Возникла проблема, все видео файлы на компьютере стали воспроизводится как аудио, переустановил K-Lite Codec Pack не помогло, самое главное...

При реализации медиаплеера не воспроизводится аудио
Я пробую реализовать функционал аудиоплеера с помощью класса MediaPlayer, запускать процесс хочу в сервисе, а трэки воспроизводить с...

Не воспроизводится аудио и видео онлайн на Windows 8.1
При воспроизведении аудио или видео зависает вкладка браузера и начинает тормозить интернет на других устройствах, пока не закрою вкладку....

При запуски сцены воспроизводится аудио, которое не должно играть
При запуски сцены воспроизводится аудио на объекте, хотя воспроизводиться оно не должно, и включается только при взаимодействии с...

Не воспроизводится аудио при использование опендиалога, не могу понять в чём причина
Stream:HStream; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin if OpenDialog1.Execute =...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru