我目前在windows phone 7中使用xna构建游戏 我试图从背景歌曲中播放的歌曲每分钟获得节拍,我也不太确定如果我想要的是BPM,我想要的是例如音乐的速度或节奏,速度越快,精灵的移动速度越快。我现在在想什么,BPM是音乐的频率达到了一个定义的常数范围,例如20 Mhz - 30 MHz, 如果我错了,随时纠正我,我不是很熟悉音频事情,我曾尝试使用MediaLibrary XNA的VisualizationData,但一些谷歌搜索后,他们说,VisualizationData不能与WP7一起工作,我也尝试过它,输出是256长度的浮点数组包含0值,或者如果我可以做一些FFT有了它,我会试试看 谢谢...获取音乐节奏或BPM?
回答
就像你说的,至于拍你不能直接得到它,但你要解释这个数据。如果您可以预先处理这首音乐并将其与标题一起发货,那么这将是您最好的选择
在XNA中,您确实只有MediaPlayer.GetVisualizationData才能使用。没有任何内容可以让你预先确定这种事情。它的使用方式类似于以下内容,可让您了解正在播放的不同频率的相关信息。
MediaPlayer.IsVisualizationEnabled = true;
VisualizationData visData = new VisualizationData();
MediaPlayer.GetVisualizationData(visData);
那么,你怎么把这个频率的东西,使它值得你的应用程序?关于如何做到这一点,有很大的分歧,这是on the App Hub forums in this thread called "Audio Analysis" in the reply by jwatte。从本质上讲,你将看到低频率,并试图找出节拍何时到来。没有什么完美的,但希望你会得到你赞同的东西。
祝你好运!
但VisualizationData无法在Windows Phone中正常工作?目前我从Content.Pipeline阅读有关AudioContent,但我仍然不知道如何使用它,我无法获得包含Microsoft.Xna.Content.Pipeline在我的游戏参考中的引用,我曾尝试添加引用但我无法得到它,我也试图使用内容库扩展,但它带有关于mscorlib版本的警告,我想我会尝试读取.wav数据,但我也发现它很难从文件中读取XNA Windows Phone中的二进制文件,人生不是那么简单吧? :p – euclid135
我99%确定它在WP7中。你有没有启用可视化?我忘了将它添加到代码示例中。我会更新它。 – scottheckel
来自msdn站点的igot ..可视化数据在Windows Phone上不可用。任何试图在手机上获取可视化数据的尝试都会使用0填充VisualizationData类。检查了这一点:http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.mediaplayer.getvisualizationdata.aspx – euclid135
- 1. 影响游戏的音乐节奏
- 2. 基于XNA节奏(音乐)游戏
- 3. API提供跟踪BPM的节奏?
- 4. 更改mp3文件的节奏\ bpm
- 5. 如何扫描BPM的音乐库?
- 6. 音乐Y或音乐N
- 7. LibGDX节奏游戏 - 同步相机的速度与音乐
- 8. 语音的近似节奏
- 9. 获取音乐库文件
- 10. 获取音乐图像
- 11. 获取iPod音轨的音乐数据
- 12. 用Python提取MP3音乐的节拍
- 13. 节奏在iPhone(音变)检测
- 14. AVAudioPlayer改变声音的节奏?
- 15. Get Tempo(BPM),Rythm,使用Java/C#从MP3或Wav或任何数字音乐文件播放音调信息?
- 16. Libgdx获得音乐
- 17. 对音乐文件C的精确BPM检测#
- 18. 从播放音乐获取标签
- 19. 如何在Android中获取音乐库?
- 20. 获取音乐可视化数据
- 21. 从Cloudkit获取音乐文件
- 22. 获取音乐流派中的YouTube
- 23. 使用FQL获取音乐收听
- 24. 如何从MediaStore获取音乐的URI?
- 25. 获取XML格式的音乐数据
- 26. Android +获取作品+ Google音乐Beta
- 27. iPhone/iPad实时更改节奏/节奏
- 28. 从音频字节中获取音调或振幅等信息
- 29. 获取音乐家/乐队验证Facebook页面
- 30. 如何从音乐库获取歌曲列表后播放音乐文件?
你想要的是BPM不频率。 http://en.wikipedia.org/wiki/Tempo#Beats_per_minute –
好吧,那么我如何计算使用xna?任何想法?? – euclid135