我正在制作一种卡拉 OK 应用程序,我需要在其中将带时间戳的文本数据与音频数据联系起来。我有 2 个列表来指示音频时间跨度和文本字符串索引的开始和结束。我面临的问题是我不知道如何根据当前 media 元素的 POSITION
属性更新 highlighted text
。
WP7 没有 Marker reached 事件 ( which silverlight has )。所以我正在考虑使用 DispatcherTimer .这个问题是我想要的 ticks
是不均匀的,如果我在每个 tick 更新 interval
属性,计时器的准确性会大大下降,因为媒体元素的位置和计时器的滴答声很容易不同步。
知道如何创建类似于 Media 元素的 MarkerReached
事件的事件吗?
谢谢-Egon
最佳答案
我假设您有某种形式的数据结构可以告诉您标记在音频流中的位置,那么为什么不使用具有固定 Interval 的 DispatcherTimer
(比如500 毫秒)并简单地检查此数据结构以查看您是否已到达标记?
关于c# - WP7动态更新UI而不阻塞线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689184/