我有一个人类的图像,我想播放不同的声音取决于是否在图像上点击了右手或左手,如果点击头部我会想要添加第三个声音,是否有一个简单的方法这样做?
答案 0 :(得分:1)
我认为最好的方法是使用OnTouchEvent,并使用getX()和getY()。这可能有助于解释它更好
public boolean onTouch(View v, MotionEvent e) {
// TODO Auto-generated method stub
float x = e.getX();
float y = e.getY();
switch (e.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
if (x > 1 & x < 200 & y > 1 & y < 200) {
///Pretty much, what the X and Y are, are coordinates.
soundPool.play(PLAY SOUND 1, 10, 10, 1, 0, 1);
///I Use soundPool, but you could use whatever
////I think you'll have to figure out where each of the coordinates are at to the corresponding
///body part. E.G if the hand lies between (X= 220 to 240 and Y= 120 to 140) then
///simply say: **(x >220 & x<240 & y >120 & y <140)**
}
if (x > 1 & x < 200 & y > 200 & y < 400) {
soundPool.play(PLAY SOUND 2, 10, 10, 1, 0, 1);
/// this is just another example of another set of coordinates.
}
break;
此外,您应该实现OnTouchListener。显然,这只覆盖了代码的OnTouch部分,其余的应该是非常自我解释的(假设你有声音并查看)。 如果这有帮助,请告诉我。上帝保佑!
答案 1 :(得分:1)
将人物图像设置为布局的背景。 在人类图像上放置透明按钮,例如:在头部,左手/右手上,并为透明按钮添加按钮点击监听器。 在按钮单击监听器中播放您想要的声音。 这是一种更简单的方法。