Soy nuevo en Android y estoy tratando de hacer algo simple como reproducir un MP3 personalizado cuando se hace clic en un botón. Esto parece ser un fairlycommonquestion, pero aunque mi código sigue los ejemplos y no recibo ningún error, no escucho ningún sonido ni en el simulador ni en un teléfono real.Reproducir un sonido cuando se hace clic en Android
Mi MainActivity.java:
public class MainActivity extends Activity {
private static final String TAG = "MyActivity";
public void MyActivity(Bundle onSavedStateInstance) {
Log.v(TAG, "Initializing sounds...");
final MediaPlayer mp = MediaPlayer.create(this, R.raw.alarma_67560);
Button play_button = (Button)this.findViewById(R.id.play_button);
play_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.v(TAG, "Playing sound...");
mp.start();
}
});
Log.v(TAG, "Sounds initialized.");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Y mi activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:padding="@dimen/padding_medium"
android:text="@string/hello_world"
tools:context=".MainActivity" />
<Button
android:id="@+id/play_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/play_button" />
</RelativeLayout>
estoy desarrollando utilizando el plug-in de Eclipse, que no muestra ningún error y parece correr el aplicación correctamente en el simulador o teléfono real, pero cuando hago clic en el botón de reproducción, no pasa nada. No estoy seguro de si el simulador admite sonido (pero supongo que sí) y he confirmado que el sonido se ha silenciado en mi teléfono.
¿Qué estoy haciendo mal?
Además, no veo mis declaraciones de registro en ninguna parte, ni en la consola de Eclipse ni en el panel LogCat. ¿Debo ver esos impresos en algún lugar?
Probablemente desee llamar a algo simple como 'MusicManager.getInstance(). Play (this, R.raw.my_sound);'. Para que esto funcione, necesita una gestión correcta de los recursos. Puede usar una biblioteca liviana para esto: https://github.com/delight-im/Android-Audio – caw