web-dev-qa-db-fra.com

Comment lire les fichiers audio directement à partir du dossier res / raw?

J'ai plusieurs fichiers audio dans le dossier res/raw. Je montre ListView qui contient le nom des fichiers audio. Je veux lire le fichier audio correspondant lorsque l'utilisateur sélectionne dans le ListView. J'ai utilisé setDataSource(path), mais cela montre une erreur lors de la lecture. Comment lire les fichiers audio directement à partir de ce dossier? Ou existe-t-il un autre moyen?

30
bharath

ajoutez ce code dans onItemClickListener.

listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {                 
                TextView txtView=(TextView)view.findViewById(R.id.txt_view);
                String fname=txtView.getText().toString().toLowerCase();

                                int resID=getResources().getIdentifier(fname, "raw", getPackageName());

                              MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);
                    mediaPlayer.start();
            }
        });
54
ilango j

essayez ceci pour jouer à partir de raw ::

MediaPlayer mPlayer2;
mPlayer2= MediaPlayer.create(this, R.raw.bg_music_wav);
        mPlayer2.start();

autorisation dans le fichier manifeste ::

<uses-permission Android:name="Android.permission.INTERNET"></uses-permission>
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

Mise à jour::

public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {     
  MediaPlayer mPlayer2;
if(position==1)
{
    mPlayer2= MediaPlayer.create(this, R.raw.song1);
            mPlayer2.start();
}else it() .....
}
29
Nikunj Patel
mVideoView = (VideoView) findViewById(R.id.Video_FrontPage);
uri = Uri.parse("Android.resource://com.urPackageName/" + R.raw.welcom_video);
mVideoView.setVideoURI(uri);
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
mVideoView.start();

J'espère que cela peut vous aider.

5
Richa
 lv.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {

          // selected item 
          String product = ((TextView) view).getText().toString();

          int [] resID= {R.raw.sound1,R.raw.sound2,R.raw.sound3};
        MediaPlayer mediaPlayer=MediaPlayer.create(this,resID[position]);

          mediaPlayer.start();
          // sending data to new activity


      }
    });
}
4
Asthme