我想在网站上添加一个不寻常的功能,允许用户播放声音......单个采样音符。当用户移动滑块控件时,声音将以音调(无缝地)上下移动。因此,当用户将按钮向右滑动时,声音将以音调上升,当向左移动时,它将以音高(从女高音到低音)向下移动。 有谁知道如何实现这一目标?你会使用什么样的声音文件?你如何连续播放(按下按钮时)和改变音高(滑动时的移动)? 这不是特定于语言的 - 它可能是php或flex。 提前致谢。 西蒙...
=============================================== 更多信息
似乎最好的解决方案可能涉及C或C#或C ++之类的东西。不幸的是,我对这些语言的经验很少。有人能告诉我是否有可能在C中实现这一目标? 感谢。
答案 0 :(得分:2)
有些人“Sonoflash”在纯ActionScript3中使用生成的音频做了非常有趣的事情 - 换句话说,没有必要使用外部声音文件。
以下是Adobe Platform Evangelist Ryan Stewart与他们合作的访谈链接。我怀疑你能够使用这个AS3库得到你需要的东西。
http://blog.digitalbackcountry.com/2009/09/sonoflash-easily-add-sound-to-your-flash-apps/
答案 1 :(得分:0)
您需要一个客户端插件才能在浏览器中运行,Silverlight,Flex或Flash很可能是您的最佳/唯一选择。
在网站上,对硬件的访问权限有限,即使不是不可能,您想要做的事情也很难。你最好的选择是拥有许多音频文件(对于你想要的每个音符/音高)并让幻灯片控制播放不同的文件。
您可能希望使用队列和不同音频文件的数组。
如果队列中的下一个项目与第一个项目不同,则播放它,如果队列为空,则继续播放最后一个文件。然后在“slider”事件中,您将排队下一个文件。
如果您正在运行本机应用程序,您可以更好地控制声音硬件,并且可能创建此效果而不需要为您想要播放的每个音符/音高设置mp3。
答案 2 :(得分:0)
要实现您的目标,您需要特定的音频处理工具,大多数网络应用程序都无法访问。 我建议你看看Flex和Alchemy。 Alchemy允许你调用c或c ++,这可以让你使用不同的c滤镜来转换声音。
我知道这不是不可能的......只是不那么容易:)祝你好运。
阿德里安
答案 3 :(得分:0)
除了回显HTML以调用客户端例程之外,肯定不是PHP解决方案。
当然可以使用Flash或Flex ..但是你尝试过JavaScript鼠标事件吗?
例如:
<img src="buttonImageFilename"
onMouseDown="handlePress();return true;"
onMouseUp="handleRelease();return true;"
onMouseOut="handleRelease();return true;"
onClick="return false;"
>
老实说,每当Flash作为第一个解决方案被抛出时,它就会让我感到烦恼,因为通常需要环境对象包装器来呈现它。 (你看过Flash10和CPU占用的问题了吗?)
很多时候,对于简单的事情,JavaScript工作正常。