Como pausar um áudio?
Criei a classe Audio( ) com métodos para reproduzir e parar o áudio.
Como implementar essa classe para pausar o áudio?
Como implementar essa classe para pausar o áudio?
// Incluir na biblioteca o "jl1.0.1.jar" //
package audio;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;
public class Audio {
private File file;
private FileInputStream fis;
private BufferedInputStream bis;
private Player player;
// Este método pede o endereço absoluto do arquivo a ser reproduzido
public void reproduzir(String url){
new Thread() {
@Override
public void run(){
try{
file = new File(url);
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
}catch(IOException e){}
try{
player = new Player(bis);
player.play();
}catch(JavaLayerException ex){}
}
}.start();
}
public void parar(){
player.close();
}
public void pausar(){
}
}Reinilton
Curtidas 0
Respostas
Ronaldo Lanhellas
24/04/2015
Bom, primeiramente você precisa usar a classe AdvancedPlayer que lhe possibilita um controle maior das operações com o audio. Não há um método pausar, você deve colocar um listener quando usar o STOP e quando for realizar o play novamente então você começa do momento em que parou.
Veja;
Criamos um listener para o AdvancedPlayer e quando o evento playbackFinished() for chamado (assim que o play.close() é acionado) você guarda o momento em que foi parado, e retorna com o play apartir daquele frame.
Veja;
private int pausedOnFrame = 0;
AdvancedPlayer player = new AdvancedPlayer(fis);
player.setPlayBackListener(new PlaybackListener() {
@Override
public void playbackFinished(PlaybackEvent event) {
pausedOnFrame = event.getFrame();
}
});
player.play(pausedOnFrame, Integer.MAX_VALUE);
Criamos um listener para o AdvancedPlayer e quando o evento playbackFinished() for chamado (assim que o play.close() é acionado) você guarda o momento em que foi parado, e retorna com o play apartir daquele frame.
GOSTEI 0
Ronaldo Lanhellas
24/04/2015
Bom, primeiramente você precisa usar a classe AdvancedPlayer que lhe possibilita um controle maior das operações com o audio. Não há um método pausar, você deve colocar um listener quando usar o STOP e quando for realizar o play novamente então você começa do momento em que parou.
Veja;
Criamos um listener para o AdvancedPlayer e quando o evento playbackFinished() for chamado (assim que o play.close() é acionado) você guarda o momento em que foi parado, e retorna com o play apartir daquele frame.
Veja;
private int pausedOnFrame = 0;
AdvancedPlayer player = new AdvancedPlayer(fis);
player.setPlayBackListener(new PlaybackListener() {
@Override
public void playbackFinished(PlaybackEvent event) {
pausedOnFrame = event.getFrame();
}
});
player.play(pausedOnFrame, Integer.MAX_VALUE);
Criamos um listener para o AdvancedPlayer e quando o evento playbackFinished() for chamado (assim que o play.close() é acionado) você guarda o momento em que foi parado, e retorna com o play apartir daquele frame.
GOSTEI 0