作者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/cn.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