[問題] ios同個按鈕控制播放與暫停

作者: hungwei0331 (Game)   2015-02-17 12:17:06
小弟開發ios遇到的問題如tile所示,
我用了一個button控制NSTimer去播放音效,
並且在button方法中實作如下,
- (IBAction)toClick:(id)sender {
AudioServicesPlaySystemSound(metronomeSoundFile);//播放音效
// AudioServicesDisposeSystemSoundID(metronomeSoundFile); //停止音效
}
因此按下按鈕可以播放音效, 但我在想同一個按鈕再次點擊時讓音效停止
由於是新手入門, google下來的結果都看不太懂 ..
似乎可以用UIControlStateSelected但是不知道如何實作,
希望能請前輩開示與指導, 先感謝版上前輩了 :)
作者: yr (Sooner Born Sooner Bred)   2015-02-17 12:40:00
你把問題想太複雜了,用個 BOOL 變數就可以做了
作者: hungwei0331 (Game)   2015-02-17 12:42:00
但是我不知道怎麼取得button的布林值 ..
作者: yr (Sooner Born Sooner Bred)   2015-02-17 12:51:00
不需要去取得 button 狀態,自己用一個變數來追蹤現在是在播放還是暫停
作者: qwsxaz369 (靠 我再找HERO 手機)   2015-02-17 15:54:00
設一個變數 記錄狀態 然後按鈕內用if 判斷ex if aa==1 {播放 aa =0}else if aa == 0 {暫停 aa=1}
作者: uranusjr (←這人是超級笨蛋)   2015-02-17 17:52:00
其實這問題也沒那麼簡單, AudioServicesPlaySystemSound是 async function, 所以還要寫 callback 才行...
作者: BS0824 (Bright_Sky)   2015-02-17 20:03:00
應該不用設變數吧?直接用[sender isSelected]來判斷目前有沒有選到Button,再用setSelected改變這個按鈕目前選取狀態
作者: charlesdc (MoOn)   2015-02-18 02:03:00
U大說的應該才是正解 跟你實作撥放聲音的元件有關係

Links booklink

Contact Us: admin [ a t ] ucptt.com