首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SoundChannel什么时候真正开始播放声音?

SoundChannel什么时候真正开始播放声音?
EN

Stack Overflow用户
提问于 2010-09-26 22:53:50
回答 1查看 362关注 0票数 0

我想非常精确地控制声音的开始,但它似乎在开始声音之前等待了一些东西。这就像播放器中有一个内部时钟,大约以43fps的速度运行,并且声音只能在该时钟的节拍上开始。

不管项目的帧率是多少,或者运行在哪台计算机上,它总是43fps(至少对我来说是这样)。

要测试这一点,请启动一个声音,然后每一帧都将channel.position与预期位置进行比较,例如getTimer() - startTime。区别总是(对我来说) 23或46 mS。

我发现了一个关于position属性的问题here,它以自己的速率更新,在我的例子中恰好是43fps,大约每23 fps更新一次。

有没有办法既可以控制声音的播放开始,又可以知道位置属性何时更新?如果有人能解释Flash到底在做什么,什么时候做,那就太好了!

我真的很感谢所有的输入,这太奇怪了。

编辑:我注意到position属性只包含23.219954648526077的倍数,例如46.439909297052154,69.65986394557822?如果你在创建一个通道后直接询问,它包含了我刚刚设置的数字,但在下一帧中,它只是这些特定的数字。知道是谁吗?

EN

回答 1

Stack Overflow用户

发布于 2010-09-28 01:37:27

23.219954648526077毫秒间隔来自内部使用1024个样本作为缓冲器大小和44100 hz采样率的闪存。

23.219954648526077毫秒= (1024个样本/每秒44100个样本)* (1000毫秒/秒)

如果需要采样精度,可以尝试使用SampleDataEvent直接输出采样,使用Sound.extract访问加载的声音采样。如果你想让多个声音相互同步,它会有帮助,但如果你想同步音频和显示帧或视频,就没有用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3798306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档