Error en la preparación de la excepción de aumento de jugador de Android: estado 0x1
Estoy intentando jugar el archivo audio de la carpeta res / raw.
pero recibiendo el error
preparar falló: status = 0x1
Mi código:
- Prueba de prueba de Android recurso
- Cómo desasignar recursos de Android
- No se puede resolver el atributo desde el espacio de nombres android
- ObtenidoStyledAttributes anotado con @StyleableRes. Suprimir advertencias
- Estilos de Android: Diferencia entre 'style = "@ android: style / XYZ"' y 'style = "? Android: attr / XYZ"'?
package com.example.lvm; import java.io.IOException; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { Button introAudio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); introAudio=(Button)findViewById(R.id.introAudio); introAudio.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { MediaPlayer mp = new MediaPlayer(); String name = "greeting"; mp.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.release(); } }); try { mp.setDataSource("android.resource://com.example.lvm/raw/"+name); mp.prepare(); mp.start(); } catch (Exception e) { Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); } } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
- ¿Es R.layout.listview es lo mismo que R.id.listview
- Acerca de la imagen de Android y los tamaños de los activos
- Problemas de compatibilidad de interfaz de usuario entre diferentes versiones de API
- Inclusión / exclusión de recursos condicionales para Android apk build
- Plural NotFoundException sólo en los teléfonos Huawei
- No se puede crear una carpeta 'res / transition' después de actualizar SDK a Kitkat 4.4.2
- Los recursos no traducibles sólo deben definirse en los valores base / carpeta - Android Export APK
- Recursos de apoyo para tabletas y móviles
prepare failed:status 0x1
se está produciendo debido a que la ruta de acceso de archivo está en error o el directorio incorrecto o Url o Uri encontrado.
Intente seguir en su código.
mediaplayer.setDataSrouce(MainActivity.this, Uri.parse("android.resource://com.example.lvm/raw/"+name)); //do not add any extension to name, eg. `R.raw.your_raw_file`
En lugar de
mp.setDataSource("android.resource://com.example.lvm/raw/"+name);
Primero, compruebe el nombre de su archivo. No puede contener mayúsculas y caracteres especiales. Elimine ese archivo, cambie el nombre y vuelva a copiarlo al entorno. A continuación, utilice en Project => Clean
Eclipse Project => Clean
función (R.java debe ser regenerado). También puedes intentar usar mp.setDataSource("android.resource://com.example.lvm/raw/"+name);
en lugar de mediaplayer.setDataSrouce(MainActivity.this, Uri.parse("android.resource://com.example.lvm/raw/"+name));
Recuerde que no agregue ninguna extensión al nombre, por ejemplo. R.raw.your_raw_file
Parece que la creación de MediaPlayer
preparado es el máximo. Cuando está intentando crear el 32º e invocado prepare
fallará con este error.
Si este es el caso, cómo arreglar esto:
- Invoque la
release
enMediaPlayer
inútil; - Limite el número de
MediaPlayer
que puede crear. Por ejemplo, si está utilizando una cola, pruebe conArrayBlockingQueue<T>
. - Capture la
IOException e
, marque"Prepare failed.: status=0x1".equals(e.getMessage())
, si es así"Prepare failed.: status=0x1".equals(e.getMessage())
intentarlo.
- Android: Diferencia entre LocationManager.addProximityAlert () & LocationClient.addGeofences ()
- Android ViewAnimator base de cambio de altura en el niño