Ich habe mehrere Audiodateien im Ordner res/raw
. Ich zeige ListView
, das den Namen der Audiodatei enthält. Ich möchte die entsprechende Audiodatei abspielen, wenn der Benutzer das ListView
auswählt. Ich habe setDataSource(path)
verwendet, aber es zeigt Fehler beim Spielen. Wie werden die Audiodateien direkt aus diesem Ordner abgespielt? Oder gibt es einen anderen Weg?
fügen Sie diesen Code in onItemClickListener hinzu.
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();
}
});
versuchen Sie dies zum Spielen von raw ::
MediaPlayer mPlayer2;
mPlayer2= MediaPlayer.create(this, R.raw.bg_music_wav);
mPlayer2.start();
Erlaubnis in der Manifestdatei ::
<uses-permission Android:name="Android.permission.INTERNET"></uses-permission>
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
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() .....
}
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();
Hoffe das kann dir helfen.
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
}
});
}