使用测试应用程序时,我想在用户单击按钮时播放随机的mp3音乐。
到目前为止,当用户单击按钮时,我就可以播放配乐(明确分配了ID)。
package com.example.audio;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends AppCompatActivity {
final MediaPlayer sound = MediaPlayer.create(this, R.raw.bell_sound)
Button playSound = (Button) this.findViewById(R.id.button)
playSound.setOnClickListener(new View.OnClickListener(){
@Override;
public void onClick(View v){
sound.start();
}
})
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
但是,我以后在添加更多音轨时不知道如何在原始资源文件中生成ID以引用音轨。理想情况下,我可以在不触摸代码的情况下将更多配乐上传到原始资源文件,并且应用程序仍然可以随机选择一个配乐以在原始资源文件中播放用户单击按钮。
答案 0 :(得分:0)
您必须创建一个单独的类和一个Arrayadapter类,当相应地单击特定图像或按钮时,它们将适应音频。请检查此链接以了解更多https://developer.android.com/guide/topics/ui/layout/recyclerview
这完全知道您必须执行的操作。 https://www.androidhive.info/2016/01/android-working-with-recycler-view/
答案 1 :(得分:0)
由于您想在不触摸密码的情况下随机选择,因此我有一个解决方案,可以使用伪代码
从Assets> random_sounds中获取所有文件名的代码
soundStrings = getAssets().list("random_sounds");
//必须在MainActivity的onCreate()中启动
Random rand = new Random();
int rand_number_within_soundStrings_limit = rand.nextInt(soundStrings.length);
String randomSoundToPlay = soundStrings[rand_number_within_soundStrings_limit];
Link,了解如何从资源文件夹播放音频。
///使用上面生成的 randomSoundToPlay 随机播放音频。