-2
private void mostrarDiapositiva(Vector<Diapositiva> d, int pos) {
if (pos >= d.size()) {
pos = d.size() - 1;
}
Diapositiva diapo = d.get(pos);
this.setDiapoPosActual(pos);
this.setDiapoActual(diapo);
reiniciarDiapositiva();
mostrarDiapositiva(diapo);
try {
if (diapo.tieneSonido()) {
String sndPath = ZIP_SND_PATH + diapo.getSonido().getNombre();
InputStream isSonido = this.getTutorFile().getFile(sndPath);
this.audioPlayer = new StreamingMediaPlayer(this);
this.audioPlayer.startStreaming(isSonido);
} else if (diapo.tieneVideo()) {
if (!diapo.tieneImagen()) {
String imgPath = ZIP_FONDOS_PATH + "fondo_video.png";
cargarImagen(imgPath);
}
}
} catch (Throwable ex) {
Log.e("mostrarDiapositiva", ex.getMessage());
Toast
.makeText(this, "Error: " + ex.getMessage(), Toast.LENGTH_SHORT)
.show();
}
}
private void mostrarDiapositiva(Diapositiva diapo) {
ImageButton bp = (ImageButton) findViewById(R.id.buttonprev);
bp.setImageResource(R.drawable.ic_menu_back);
ImageButton bn = (ImageButton) findViewById(R.id.buttonnext);
bn.setImageResource(R.drawable.ic_menu_forward);
try {
if (diapo.tieneImagen()) {
String imgPath = ZIP_IMG_PATH + diapo.getImagen().getNombre();
cargarImagen(imgPath);
}
this.animarFade(this.FLIPPER_DIAPOS_NUMLAYOUT);
//if (diapo.tieneSonido()) {
// String sndPath = ZIP_SND_PATH + diapo.getSonido().getNombre();
// InputStream isSonido = this.getTutorFile().getFile(sndPath);
} catch (Throwable ex) {
Log.e("mostrarDiapositiva", ex.getMessage());
Toast
.makeText(this, "Error: " + ex.getMessage(), Toast.LENGTH_SHORT)
.show();
}
}
除了聲音以外,當我畫屏Android中的聲音(StreamingMediaPlayer無法正常工作,無法正常工作)
mostrarDiapositiva(diapo); 我們有每張幻燈片的相關聲音,所以如果它有聲音(如果(diapo.tieneSonido()))它播放它。
問題是,第一次音頻開始後,一個或兩個音節重新開始。
它看起來像音頻開始時,幻燈片正在着色,當它被繪了它再次開始。有沒有什麼事情或類似的東西?
感謝
對這個問題的標題可能比「的聲音在Android的」更好的爲我們這些搜索。 – 2011-03-11 16:52:33