2011-10-05 122 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

從我一直在閱讀它只需要調用釋放方法。使用重置的優點是什麼? –