2013-05-17 2 views
0

Я хочу воспроизвести случайные звуки из активов/папки в моем проекте. Что не так с этим кодом? Помогите мне пожалуйстаСлучайный звук onclick button android assets

Вот мой код:

MediaPlayer player; 
AssetFileDescriptor descriptor; 
private String[] filelist; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.activity_main); 
    player = new MediaPlayer(); 

    Button bTutorial1 = (Button) findViewById(R.id.tutorial1); 
    AssetManager aMan = this.getAssets(); 
    try { 
     filelist = aMan.list("mysounds/"); 

     // OR 
     // filelist = aMan.list("/"); 
    } catch (IOException e1) { 
     e1.printStackTrace(); 
     { 
     } 
     bTutorial1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Random randomGenerator = new Random(); 
       int randomInt = randomGenerator.nextInt(filelist.length); 

       try { 
        String mediaFile = filelist[randomInt]; 
        descriptor = getAssets().openFd(mediaFile); 
        player.setDataSource(descriptor.getFileDescriptor(), 
          descriptor.getStartOffset(), 
          descriptor.getLength()); 
        descriptor.close(); 
        player.prepare(); 
        player.start(); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

}

После нажатия на кнопку ничего не звук воспроизводится. Помоги мне! Ошибок не отображено.

+0

просто проверяя основы: вы уверены, что ваш объем СМИ загнуты? вы отлаживали, чтобы убедиться, что файллист содержит допустимые имена файлов? –

+0

Да. У меня есть два файла .mp3 в папке с моими активами, и я попытался создать папку/mysounds и добавить туда тоже. – user2393513

ответ

0

Попробуйте этот конструктор медиаплеера:

MediaPlayer player = MediaPlayer.create(Context context, Uri uri); 
uri = Uri.parse("file:///android_asset/mysounds/music.mp3"); 
+0

Да, но я хочу играть в случайную музыку по клику – user2393513

Смежные вопросы