有finch播放完成回调吗?类似于 - audioPlayerDidFinishPlaying在avaudioplayer的东西?通过代码看我找不到任何引用它的东西。完成与finch播放音频回拨
0
A
回答
1
在Finch中没有这样的回调,因为OpenAL不支持它。 (或者至少它不支持它,当我上次看)。你可以假像这样:
- (void) playSoundWithCallback {
[someSound play];
[someDelegate performSelector:@selector(soundDidFinishPlaying:)
withObject:someSound afterDelay:someSound.duration];
}
我没有尝试,但它是一个简单的代码,它应该工作的罚款。那么...至少直到你开始搞乱球场,因此声速:) :)
0
@zoul:我知道这是一个vey迟到的回复。但我注意到答案是不正确的。如果我暂停声音或系统中断,该怎么办?在这种情况下,即使声音尚未完成,您也会收到回电。请阅读openAL规范中的“4.3.6。管理源代码执行”一节,了解正确的处理方法。
0
如果你不关心中断,那么这里有一个修补程序。
OpenAL更改音高不是1.0时播放声音的播放长度。 (似乎不可能从OpenAL查询这个新长度, ,因为AL参数返回与之前相同的值)
间距范围从0.5到2.0f。所以,如果我们假设0.5间距正好是两倍长, 和间距在2.0 exacty一半长,我们应该能够用沥青为乘数:
- (void) playSoundWithCallback {
[someSound play];
[someDelegate performSelector:@selector(soundDidFinishPlaying:)
withObject:someSound afterDelay: someSound.duration * (1.0/someSound.pitch) ];
}
相关问题
- 1. 如何播放音频先完成音频文件,然后开始播放?
- 2. 确定OpenAL何时使用回调完成播放音频
- 3. 从回拨的移动设备播放HTML5音频
- 4. 音频播放期间在特定时间回拨
- 5. 播放音频时点击按钮和声音播放完成后重定向
- 6. 播放音频
- 7. 如何在openAL或Finch中播放特定声音时控制播放音量?
- 8. AVPlayerItemDidPlayToEndTimeNotification音频播放完毕后,不叫
- 9. React - 完全加载时播放音频
- 10. 通知一次的音频播放完
- 11. Android NDK音频回拨
- 12. 播放音频流
- 13. Android音频播放
- 14. HTML5:播放音频
- 15. 播放音频onclick
- 16. ActionScript播放音频
- 17. HTML5 - 播放音频
- 18. MIDlet音频播放噪音
- 19. 任何HTML5音频录音机(与音频播放器一起)
- 20. 如何知道HTML5音频元素何时完成播放?
- 21. 在WPF中播放音频并重复完成
- 22. iOS 8 Swift音频播放执行方法完成
- 23. 如何检查音频文件已完成在Android中播放
- 24. 如何在音频播放完成后触发JQuery事件HTML5
- 25. vkontakte.ru中的音频播放器如何完成
- 26. 活动转换完成后播放音频
- 27. 播放的NSData成音频格式IOS
- 28. Beats Music API返回m3u8音频播放?
- 29. html5音频播放器闪回fallback
- 30. 音频播放器在iPhone中播放远程音频文件?
我没有挖过深成Finch/OpenAL,但是可能有一种方法可以查询声音是否在播放?这会稍微复杂一点,但即使球场正在改变也会起作用。 – Adam 2010-10-16 19:47:10