我正在设计一个应用程序,它需要执行一个后台任务(以释放UI线程),但在其执行期间,它需要测试用户的点击。
是否可以在后台线程中设置侦听器,或者是否需要将控制权交还给UI线程?
编辑:
我有6个小的1秒长的音乐文件(.wav),每个文件都有不同的音符。当用户运行程序时,每个音乐文件将播放1秒。在所有6个都演奏完之后,它将以不同的顺序播放相同的音符。
例如(1 2 3 4 5 6)然后(2 1 3 4 5 6)然后(2 1 4 3 5 6)等等。
我想让用户控制其中一个音符,比如文件5中包含的音符,每次播放5个音符时,用户点击一个按钮,尝试与其他音符一起播放该音符,他们的音乐文件应该会播放,应用程序将继续工作,用户在每组6个音符中按下按钮一次。
发布于 2013-10-10 22:32:27
我看到你想要在用户点击时中断正在进行的后台任务,但我认为你可以设置一个逻辑,它将按某种顺序播放文件,一旦捕捉到用户的点击,它就会打破这个顺序,播放5号文件,然后开始另一个任务来播放剩余的文件。
发布于 2013-10-10 22:37:04
您可能会发现this answer很有用。这样,您就可以定义自己的回调函数了。
https://stackoverflow.com/questions/19298554
复制相似问题