XNA 媒体播放器快进/快退

2024-03-15

使用 XNA 4.0,我当前正在使用以下命令播放用户 PC/XBox360 上的歌曲:

        Microsoft.Xna.Framework.Media.MediaPlayer.Play(Song song);

我看到媒体播放器有一个静态属性比赛位置正如我所研究的那样,它曾经是一个获取/设置属性,但它已更新为仅获取。

我可以使用其他方法/技巧来明确设置当前播放歌曲的播放位置吗?


看起来他们添加了一个动态音效实例 http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.dynamicsoundeffectinstance(XNAGameStudio.40).aspxXNA 4.0 中的类。成员函数之一是提交缓冲区 http://msdn.microsoft.com/en-us/library/ff434502(XNAGameStudio.40).aspx,它允许您设置“到数据起始位置的偏移量(以字节为单位)”。

请注意,我还没有尝试过这一点,而且我无法告诉您如何将音频放入字节缓冲区(也许您可以以某种方式从 XACT Wavebank 读取它?)。这样做也可能会很痛苦,因为如果您决定再次更改位置,您似乎无法删除缓冲区。您必须让它播放到最后,或者创建一个新类并提交一个具有新偏移量的新缓冲区。因此,您可以将字节缓冲区保留在内存中,并在每次想要更改位置时将其传递给新的 DynamicSoundEffectInstance 类,并使用新的偏移量。

就像我说的,我还没有尝试过,我只是参考 MSDN 上的文档。我四处搜寻了一段时间,肖恩·哈格里夫斯said http://forums.xna.com/forums/p/33819/238988.aspx#238988早在 09 年 10 月 XNA 4.0 发布之前,他认为这是不可能做到的。由于 PlayPosition 仍然是 XNA 4.0 中的仅获取属性,因此我认为您不会有任何运气,但 DynamicSoundEffectInstance 是新的,可能会为您提供所需的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XNA 媒体播放器快进/快退 的相关文章

  • 比较 $("#foo .bar") 和 $(".bar", "#foo") 的性能

    向下滚动查看getById getByClassName vs qSA比较 如果我们想选择类的所有元素 bar 位于具有 ID 的元素内 foo 我们可以这样写 foo bar or this bar foo 当然还有其他方法可以实现这一点
  • MVC 5 单个视图中的多个模型

    有人可以提供一个如何在一个视图中组合两个模型的示例吗 目前我有一个名为 RecordCard 的页面 其中包含 model IEnumerable

随机推荐