admin 管理员组文章数量: 1184232
目录
一、简单的作品描述
二、实现原理
三、具体实现步骤
四、Android加载声音
五、实现其余的音符
六、记录并回放音符
七、记录音符及时间
八、块的功能
九、音符的回放
十、播放适当延迟的音符
资源下载
由于瘟疫肆虐,我在家中宅了好几天,简直不能太无聊。一个偶然的机会,我在抖音上面发现了一个类似钢琴的APP,然后就试着用App inventor做一个可以实现音乐功能的软件,暂且可以把它叫做木琴。经过3次的修改,最终成了下面的样子。让我们来一起看看吧!
一、简单的作品描述
基本界面如下图所示:
功能介绍:
- 通过触摸屏幕上的彩色按钮播放八个不同的音符;
- 按“播放”按钮,回放之前弹奏的音符;
- 按“重置”按钮清除之前弹过的音符,以便输入新曲。
二、实现原理
- 使用单一的声音组件来播放不同的音频文件;
- 使用Clock组件来计算并实现两个音符之间的延时;
- 在创建一个过程时做判断;
- 创建能够自我调用的过程;
三、具体实现步骤
记得上次做的是蓝牙相关的实践,用的是汉语的界面,这次尝试用英文试一下!
首先创建前两个键,用按钮来实现:
1. 从面板(palette)的user interface组中拖出一个按钮。
-
BackgroundColor属性:为红色;
-
Text属性:为“C”;
-
Width属性:为“Fill parent”,使其占满屏幕;
- Height属性:为40像素。
2. 重复上述步骤创建第二个按钮,名为Button2,放在Button1下面。Width及Height属性值同Button1,但BackgroundColor属性设为红色,Text属性设置为“D”。如下图:
3.其他键位的设计完全按照上面的步骤来实现,在此就不一一说明了。
添加其他组件
木琴不能没有声音,所以我创建一个Sound组件,名字为Sound1。MinimumInterval(最小间隔)属性设置为0(默认值为500毫秒)。这可以让我们的演奏要多快有多快,而不必等半秒钟(500毫秒)。
下载1.wav和2.wav,并加载到项目中,注意这里的声音文件必须保持原有文件名。
当某个按钮被点击时,用程序来实现播放声音的行为,即:如果Button1被点击,则播放1.wav,如果Button2被点击,播放2.wav。
若要切换到块编辑器,如下图所示,进行以下设置:
- 从Screen1项下的Button1抽屉里拖出Button1.Click块;
- 从Sound1抽屉里拖set Sound1.Source块,放置在Button1.Click块中;
- 输入“text”来创建一个文本块(而不是从Built-in项下的Text抽屉里拖出,这样更便捷。)设置文本值为“1.wav”,并与Sound1.Source块连接;
- 添加Sound1.Play块。
点击按钮时播放声音
对Button2进行同样设置,如图(只改了文件名),代码几乎完全重复。
重复的代码提示我们最好是创建一个过程。用join块将数字(如1)与文本“.wav”连接起来,创造出正规的文件名(如“1.wav”)。下面是创建这个过程的步骤:
1. 在块编辑器中打开Procedures抽屉,拖出“to procedure”块;
2. 单击procedure将过程名改为playNote;
3. 点击procedure块左上角的蓝色方块呼出内部组件,将一个input x块插入“inputs”块;
4. 将input x块中的x改为number;
5. 将set Sound1.Source to块从Button1.Click事件处理程序
版权声明:本文标题:手机APP开发之MIT Appinventor详细实战教程(二),实现音乐软件的编程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1765754147a3411982.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论