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