Question

Dans la méthode MediaPlayer.create un identifiant à un fichier Raw peut être utilisé, mais comment utiliser cette méthode dans setDataSource?

Était-ce utile?

La solution

Vous pouvez charger l'audio brut dans un flux d'entrée et de le charger dans un MediaPlayer comme vous le feriez un flux normal:

InputStream ins = getResources().openRawResource(R.raw.example);

puis suivre un tutoriel en streaming comme

Autres conseils

Reportez-vous à la source android.media.MediaPlayer

AssetFileDescriptor afd = context.getResources().openRawResourceFd(resid);
if (afd == null) return;
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();

Vous pouvez ajouter try-catch au bloc.

paraphraser @ réponse de Kartik ici Obtenez URI de fichier .mp3 stocké dans res / dossier brut dans Android

Si vous souhaitez obtenir une URI ressource puis il y a deux façons:

  1. Utilisation Nom de la ressource
  

Syntaxe: android.resource: // [paquet] / [type res] / [nom res]

     

Exemple:   Uri.parse ( "android.resource: //com.my.package/drawable/icon");

  1. Utilisation des ressources Id
  

Syntaxe: android.resource: // [paquet] / [resource_id]

     

Exemple: Uri.parse ( "android.resource: //com.my.package/" +   R.drawable.icon);

Ce sont les exemples pour obtenir l'URI d'un fichier d'image stocké dans le dossier drawable. De même, vous pouvez obtenir des URIs res / dossier brut.

  

OMI la deuxième voie serait préférable que de renommer le fichier etc des ressources peut   être facilement refondus.

Définir la source de données comme ceci:

CONSTANTS.RES_PREFIX = "android.resource://com.my.package/"
mp.setDataSource(getApplicationContext(),
              Uri.parse(CONSTANTS.RES_PREFIX + R.raw.id));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top