1

所以基本上我们几乎完成了我们的吉他调音器,只需要让 UI 看起来不错。我们使用 Pure Data 进行所有音频处理,我们希望根据图像来表示调整是对还是错。因此,如果您需要调音,则会显示向上图像,当您调音时,橙色方块会亮起。现在我们有一些根据声音移动的线条,效果很好,但看起来不太好。

我想这样做的方式是将“关闭”图像放在 XML 文件中,因此屏幕上的向下箭头、向上箭头和中心调正方块都设置为关闭(它们是灰色的),并且随着调音被拾取,图像变为橙色。

但是,当我尝试让它更改图像时,我的程序崩溃了,我不太确定我需要做什么才能使图像正确更改。

一个正确方向的观点将不胜感激。

链接到 pitchview 课程:http ://pastebin.com/xJPU9su1

如您所见,我正在尝试更改 onCanvas 方法中的图像,该方法当前在屏幕上绘制线条以表示调整。我是在正确的轨道上还是我必须完全改变我正在做的事情?

4

1 回答 1

-1

我可能会被指责在这里回避这个问题(好吧,我回避这个问题,但这可能还是有用的),但是使用 Pure Data 的 GEM 库渲染图像可能更容易吗?也许你可以这样做:

|loadbang| ---- |create\ ---- |gemwin|

|noteTooSharp|-\ 
                \
|gemhead| ---- |spigot| ---- |pix_image foo/down_arrow.jpg| ---- |pix_draw|

这只会在“noteTooSharp”产生 1 时显示您的图像,这可以通过您的调谐器链接到结果(假设您可以访问频率。

|moses $freq|          <--------------  where $freq is the frequency
  |        \
  |         \
(too flat)  |moses $freq-1|
               |         |
            (nice!)    (too sharp)

如果这不是您要找的东西,我很抱歉。我不确定 GEM 是否适用于 Android(在 libpd 下)。但是,如果您可以使用 GEM,我也可能会建议http://puredata.info/downloads/gem/documentation/tutorial/primer,这是一个非常有用的 GEM 教程。

于 2013-06-03T17:40:24.143 回答