Play random sound onClick from assets problem

  • Replies:0
Dawid Walczyk
  • Forum posts: 1

May 18, 2013, 11:23:42 AM via Website

Hello!
I'm newbie android's developer.
I've got a problem with my simply app. I want to play random sound from assets folder in my project after click on button. I've made a code, but it doesn't working. I don't know why, no errors in LogCat.


1MediaPlayer player;
2 AssetFileDescriptor descriptor;
3 private String[] filelist;
4
5 @Override
6 protected void onCreate(Bundle savedInstanceState) {
7 super.onCreate(savedInstanceState);
8
9 requestWindowFeature(Window.FEATURE_NO_TITLE);
10 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
11 WindowManager.LayoutParams.FLAG_FULLSCREEN);
12
13 setContentView(R.layout.activity_main);
14 player = new MediaPlayer();
15
16 Button bTutorial1 = (Button) findViewById(R.id.tutorial1);
17 AssetManager aMan = this.getAssets();
18 try {
19 filelist = aMan.list("/assets");
20
21 // OR
22 // filelist = aMan.list("/");
23 } catch (IOException e1) {
24 e1.printStackTrace();
25 {
26 }
27 bTutorial1.setOnClickListener(new View.OnClickListener() {
28 public void onClick(View v) {
29 Random randomGenerator = new Random();
30 int randomInt = randomGenerator.nextInt(filelist.length);
31
32 try {
33 String mediaFile = filelist[randomInt];
34 descriptor = getAssets().openFd(mediaFile);
35 player.setDataSource(descriptor.getFileDescriptor(),
36 descriptor.getStartOffset(),
37 descriptor.getLength());
38 descriptor.close();
39 player.prepare();
40 player.start();
41 } catch (Exception e) {
42 e.printStackTrace();
43 }
44 }
45 });
46 }
47 }
48
49 @Override
50 public boolean onCreateOptionsMenu(Menu menu) {
51 // Inflate the menu; this adds items to the action bar if it is present.
52 getMenuInflater().inflate(R.menu.main, menu);
53 return true;
54 }

Reply