看板 MacDev 關於我們 聯絡資訊
小弟開發ios遇到的問題如tile所示, 我用了一個button控制NSTimer去播放音效, 並且在button方法中實作如下, - (IBAction)toClick:(id)sender { AudioServicesPlaySystemSound(metronomeSoundFile);//播放音效 // AudioServicesDisposeSystemSoundID(metronomeSoundFile); //停止音效 } 因此按下按鈕可以播放音效, 但我在想同一個按鈕再次點擊時讓音效停止 由於是新手入門, google下來的結果都看不太懂 .. 似乎可以用UIControlStateSelected但是不知道如何實作, 希望能請前輩開示與指導, 先感謝版上前輩了 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.221.168 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1424146628.A.828.html
yr: 你把問題想太複雜了,用個 BOOL 變數就可以做了 02/17 12:40
hungwei0331: 但是我不知道怎麼取得button的布林值 .. 02/17 12:42
yr: 不需要去取得 button 狀態,自己用一個變數來追蹤現在是在 02/17 12:51
yr: 播放還是暫停 02/17 12:51
qwsxaz369: 設一個變數 記錄狀態 然後按鈕內用if 判斷 02/17 15:54
qwsxaz369: ex if aa==1 {播放 aa =0} 02/17 15:55
qwsxaz369: else if aa == 0 {暫停 aa=1} 02/17 15:56
uranusjr: 其實這問題也沒那麼簡單, AudioServicesPlaySystemSound 02/17 17:52
uranusjr: 是 async function, 所以還要寫 callback 才行... 02/17 17:53
BS0824: 應該不用設變數吧?直接用[sender isSelected]來判斷目前有 02/17 20:03
BS0824: 沒有選到Button,再用setSelected改變這個按鈕目前選取狀態 02/17 20:05
charlesdc: U大說的應該才是正解 跟你實作撥放聲音的元件有關係 02/18 02:03