2012-11-20 38 views
0

我有一個ios應用程序,它在第一次打開時播放聲音。我已經將狀態恢復代碼添加到我的應用程序代理中,並在我的視圖控制器中的故事板中設置了恢復ID。我的應用程序似乎恢復到正確的視圖控制器,但然後跳回到第二個視圖控制器,並再次播放聲音,即使它沒有打開啓動聲音的視圖控制器。我試圖給聲音添加一個計數,所以它只會播放一次,但似乎沒有工作。我怎樣才能讓聲音不再播放?感謝你們。狀態恢復期間的聲音播放iOS

編輯:我應該提到聲音通過我的初始視圖控制器中的AVPlayer播放。

***經過進一步檢查,如果我繞過我的第一個視圖控制器一切正常。

然後,我添加了一個計時器到我的第二個視圖控制器,並提出我的第一個視圖控制器使用計時器。在我的動畫塊中,我使用完成處理程序來關閉第一個視圖控制器,然後一切似乎都奏效。現在唯一的問題是,當應用程序被殺害並重新打開時,它再次呈現第一個視圖控制器,但至少現在它解散它時,它實際上是停止的地方,而不是跳回到第二個視圖控制器,只播放聲音從第一個視圖控制器。我可能只是保持這種方式,因爲它是一個有趣的小動畫,並且只會在應用程序被殺時播放,但我不明白爲什麼它會這樣做。我瀏覽了我所有的連接,代碼和IB設置,似乎沒有任何東西突然出現在我身上。其他人有沒有類似的恢復問題?

回答

0

使該計數變量爲靜態。 聲明:

static int count = 0; 
    if(count == 0) { 
    //then play the sound here 
    //insert code here 
    } 
//the increment it here 
count++; 
+0

我試過了你的想法,但沒有奏效。謝謝。我想我可能會在櫃檯上走錯路。我認爲這與狀態恢復和我的代碼中的其他內容有關。我很欣賞這個嘗試。 – johnnelm9r