我正在进行Android实验,我需要一些帮助。我希望有一个声音播放和手机的移动,让声音音高得更高。 (例如:将手机向上移动,音高更高)。根据设备的方向,声音会有所不同。但是,根据设备的陀螺仪运动/加速度计运动,我怎样才能使声音的音高变高或变低? 感谢您的帮助:))
答案 0 :(得分:0)
你必须将你的任务分成两个不同的目标。一个是如何从手机获取阅读;另一种是操纵声音输出。第一项任务很简单。在线搜索并查找库或本机API以阅读设备方向。
更改声音音调更有趣。首先,您需要构建程序,以便完全控制输出流。这允许您动态更改波形。再次,将字节推送到I / O是机械部分。但首先要考虑声音的物理特性。
当您以2倍的速度播放剪辑时,音高会增加两倍,但速度也会翻倍。类似地,减慢剪辑会降低音高,但剪辑需要更长时间才能播放。这可能是你想要的,但是如果你想保持速度而只是为了改变音高,你将不得不进行一些波变换。您可以阅读有关Pitch Scaling的更多信息。