我决定编写我的第一个Android应用程序。我想要一个简单的应用程序,它会在一段随机的时间后发出声音。这应该重复20次(每次分钟应该是另一次)。这应该由一个按钮激活。我已经在我的程序中实现了butterknife。
这是我的方法:
@OnClick(R.id.startbutton)
void spielen() {
for(int i=0; i<20;i++) {
int rando = (int) ((Math.random() * 10) + 1); //create a random int from 1-10
try {
Thread.sleep(60000*rando); //delay the for loop by random*1min
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
MediaPlayer cheer = MediaPlayer.create(MainActivity, this, R.raw.fischkarte);
cheer.start(); //play the sound
} //start the loop again (20 times)
} // now you should be able to push the button again and start it all over again
错误在于这行代码:
MediaPlayer cheer = MediaPlayer.create(MainActivity, this, R.raw.fischkarte);
程序说它是
期待一个表达。
我是Android的新手,我从YouTube视频中获得了这一行。那么有什么建议吗?
答案 0 :(得分:0)
<强>首先强>
在你的情况下,你有一个错误的类型。
而不是:
MediaPlayer cheer = MediaPlayer.create(MainActivity, this, R.raw.fischkarte);
使用:
MediaPlayer cheer = MediaPlayer.create(MainActivity.this, R.raw.fischkarte);
MediaPlayer静态方法create()
有两个参数,而不是三个。此外,您不能只发送活动名称。
<强>第二强>
如果你打断主线程,我认为你会面临另一个问题
尝试在一段时间后再次启动之后停止声音。