Tyulio
13/12/12, 17:22:50
Hola amigos, vuelvo de nuevo a la carga para pedidos ayuda. Lo primero gracias a todos por la ayuda ofrecida en otras ocasiones y en especial a Celtium que me presta siempre su ayuda.
El caso es que debo hacer el siguiente ejercicio:
Botón1: Reproducir un sonido desde /res/raw
Botón2: Reproducir un sonido desde Internet
Botón3: Reproducir un sonido desde la tarjeta
Botón4: Reproducir un vídeo desde la tarjeta
Botón5: Pausar todos los sonidos*
*Pausar los sonidos significa que cuando se vuelva a pulsar un botón de sonido, éste continúe su reproducción por donde se quedó pausado. Así comprobaréis que la pausa funciona.
El caso es que lo tengo a puntito todo pero me peta al darle de nuevo a reproducir el sonido. El fallo viene al darle de nuevo al botón para que siga reproduciendo el sonido, el resto creo que está correctamente.
Os dejo el código:
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class Multimedia extends Activity {
private MediaPlayer mp = new MediaPlayer();
private MediaPlayer mp1 = new MediaPlayer();
private MediaPlayer mp2 = new MediaPlayer();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.multimedia);
Button button1 = (Button)findViewById(R.id.button1);
Button button2 = (Button)findViewById(R.id.button2);
Button button3 = (Button)findViewById(R.id.button3);
Button button4 = (Button)findViewById(R.id.button4);
Button button5 = (Button)findViewById(R.id.button5);
mp = MediaPlayer.create(Multimedia.this, R.raw.CARPETA RAW);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!mp.isPlaying()) {
mp.start();
}
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
try {
mp1.setDataSource("RUTA EN INTERNET");
mp1.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mp1.start();
}
});
button3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
try {
mp2.setDataSource("RUTA EN LA SD");
mp2.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mp2.start();
}
});
button4.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
VideoView mVideoView = (VideoView) findViewById(R.id.videoView1);
mVideoView.setVideoPath("RUTA EN LA SD");
mVideoView.setMediaController(new MediaController(Multimedia.this));
}
});
button5.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
if(mp.isPlaying()){
mp.pause();
}
if(mp1.isPlaying()){
mp1.pause();
}
if(mp2.isPlaying()){
mp2.pause();
}}});
}
}
A ver si me podeis echar un cable porque fijo que es una tontería lo que me falta pero al no ser un experto en el tema, no consigo dar con la clave.
Gracias de nuevo por anticipado.
Salu2!!
El caso es que debo hacer el siguiente ejercicio:
Botón1: Reproducir un sonido desde /res/raw
Botón2: Reproducir un sonido desde Internet
Botón3: Reproducir un sonido desde la tarjeta
Botón4: Reproducir un vídeo desde la tarjeta
Botón5: Pausar todos los sonidos*
*Pausar los sonidos significa que cuando se vuelva a pulsar un botón de sonido, éste continúe su reproducción por donde se quedó pausado. Así comprobaréis que la pausa funciona.
El caso es que lo tengo a puntito todo pero me peta al darle de nuevo a reproducir el sonido. El fallo viene al darle de nuevo al botón para que siga reproduciendo el sonido, el resto creo que está correctamente.
Os dejo el código:
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class Multimedia extends Activity {
private MediaPlayer mp = new MediaPlayer();
private MediaPlayer mp1 = new MediaPlayer();
private MediaPlayer mp2 = new MediaPlayer();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.multimedia);
Button button1 = (Button)findViewById(R.id.button1);
Button button2 = (Button)findViewById(R.id.button2);
Button button3 = (Button)findViewById(R.id.button3);
Button button4 = (Button)findViewById(R.id.button4);
Button button5 = (Button)findViewById(R.id.button5);
mp = MediaPlayer.create(Multimedia.this, R.raw.CARPETA RAW);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!mp.isPlaying()) {
mp.start();
}
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
try {
mp1.setDataSource("RUTA EN INTERNET");
mp1.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mp1.start();
}
});
button3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
try {
mp2.setDataSource("RUTA EN LA SD");
mp2.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mp2.start();
}
});
button4.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
VideoView mVideoView = (VideoView) findViewById(R.id.videoView1);
mVideoView.setVideoPath("RUTA EN LA SD");
mVideoView.setMediaController(new MediaController(Multimedia.this));
}
});
button5.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
if(mp.isPlaying()){
mp.pause();
}
if(mp1.isPlaying()){
mp1.pause();
}
if(mp2.isPlaying()){
mp2.pause();
}}});
}
}
A ver si me podeis echar un cable porque fijo que es una tontería lo que me falta pero al no ser un experto en el tema, no consigo dar con la clave.
Gracias de nuevo por anticipado.
Salu2!!