2011-10-05 87 views
0

我正在研究一个小应用程序,播放八个不同的.5第二MIDI文件。我有一个ontouch动作,每次指定的对象被触及时会被调用,并且在这个动作中,我有一个if/else if语句,根据触摸的对象播放指定的MIDI文件。当我运行它时,它可以在前几次触摸时正常工作,但一段时间后播放停止,然后应用程序最终崩溃。这里出了什么问题?媒体播放器使用后崩溃

基本结构:

public ontouch(){ 
    if (something >= 3){ 
     mediaplayer s = mediaplayer.create(somethingmidi2); 
     s.start(); 
    }else if (something < 3){ 
     mediaplayer s = mediaplayer.create(somethingmidi); 
     s.start(); 
    } 
} ` 
+0

如果'something == 3'会发生什么?对于这个问题,什么是“东西”?此外,你的'if/else'的两个部分都做同样的事情。 – CanSpice

+0

固定。只需快速输入伪代码即可。 –

回答

0

只是一个猜测,但你可能不调用媒体播放器的release()方法,也不reset()当你重新初始化。

+0

不,我不是。我认为这并不重要,直到函数结束。我应该在每次之前打电话吗?这会减少我目前正在经历的轻微延误吗? –

+0

忽略延迟部分,我重新测试并意识到实际上没有延迟。该版本会不会使其崩溃? –

+0

从我一直在阅读它只需要调用释放方法。使用重置的优点是什么? –