Я пытаюсь создать класс для воспроизведения файлов FLAC. Для этого я использую jFlac. Таким образом, для воспроизведения песни, мне нужно сделать:Как приостановить поток без контроля над циклом в методе запуска
Player p = new Player();
p.decode("PATH_TO_FLAC");
И я положил, что в методе Run() моего класса. Если я начну тему, это будет работать. Но мне интересно, как сделать паузу. Я не контролирую цикл, который сделан в p.decode();
, поэтому я не могу использовать wait и notify. Но Thread.suspend()
устарел. Я не знаю, что делать.
Мой класс:
public class FLACPlayer implements Runnable {
/**
* Path of the song
*/
private String file;
private org.kc7bfi.jflac.apps.Player player;
/**
* The thread launching the player
*/
private Thread playerThread;
/**
* Constructor: initialize the player
*
* @param str
* The path of the file to play
*/
public FLACPlayer(String str) {
file = str;
player = new org.kc7bfi.jflac.apps.Player();
this.playerThread = new Thread(this, "AudioPlayerThread");
}
public void play() {
playerThread.start();
}
@Override
public void run() {
try {
player.decode(file);
} catch (IOException | LineUnavailableException e) {
}
}
Спасибо!
вы можете показать свой код snippert ? –
Одна вещь, player.decode (файл) работает неограниченное время? –
Он работает до конца песни. – cyprieng