Android应用无效

时间:2017-01-10 23:47:41

标签: java android

我决定编写我的第一个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视频中获得了这一行。那么有什么建议吗?

1 个答案:

答案 0 :(得分:0)

<强>首先
在你的情况下,你有一个错误的类型。
而不是:

MediaPlayer cheer = MediaPlayer.create(MainActivity, this, R.raw.fischkarte);

使用:

MediaPlayer cheer = MediaPlayer.create(MainActivity.this, R.raw.fischkarte);

MediaPlayer静态方法create()有两个参数,而不是三个。此外,您不能只发送活动名称。

<强>第二
如果你打断主线程,我认为你会面临另一个问题 尝试在一段时间后再次启动之后停止声音。