我是Java / Android Studio初学者,我正在写一个Soundboard。
我的音板每页大约有10-15个按钮,这是我的以下问题
我宣布了很多Mediaplayers
public class MainActivity extends AppCompatActivity {
MediaPlayer X1;
MediaPlayer X2;
MediaPlayer X3;
MediaPlayer X4;
MediaPlayer X5;
MediaPlayer X6;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
X1 = MediaPlayer.create(this, R.raw.x1);
X2 = MediaPlayer.create(this, R.raw.x2);
X3 = MediaPlayer.create(this, R.raw.x3);
X4 = MediaPlayer.create(this, R.raw.x4);
X5 = MediaPlayer.create(this, R.raw.x5);
X6 = MediaPlayer.create(this, R.raw.6);
在我的XML文件中,我为每个Button工作了
<Button
android:text="X1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button10"
android:onClick="X1"
android:elevation="0dp"
android:background="android:attr/colorEdgeEffect"
android:forceHasOverlappingRendering="false"
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="normal|italic"
android:layout_marginLeft="17dp"
android:layout_marginStart="17dp"
android:layout_marginTop="317dp" />
现在我的问题是每个媒体播放器都有很多工作,并且有很多媒体播放器,应用程序崩溃/出现问题。
如何将所有按钮汇总到一个MediaPlayer?
这只是一个示例代码,我的工作方式是否有人可以为我更改此代码? 在一些线程中,我读了&#34; oncompletionlistener&#34;但我从未使用它。
答案 0 :(得分:0)
Stackoverflow不会让我回答,但我会再试一次:
类似的东西:
android:onClick="playFile"
然后你有
public void playFile(View view){
switch(view.getId()) {
case R.id.button1:
// play audio file 1
break;
case R.id.button2:
// play audio file 2
break;
//....
}
}