如何将声音文件链接到按钮?

时间:2011-07-05 23:13:05

标签: android button audio media-player media

我插入了图像按钮,我知道如何获取图像,我在res>raw文件夹中有声音文件。

如何将这些声音链接到每个按钮?我猜medocontroller按钮的东西? (我在图形布局中)

其他问题:

  • 我是否必须在main.xml和.java文件中进行编辑?
  • 我需要对manifest或r.java文件做些什么吗?
  • 有人知道一些不同寻常的学习资源吗? (我已经在Google开发页面上确定了每个vid教程)

2 个答案:

答案 0 :(得分:1)

最佳学习资源是附加到SDK的Android示例。

http://developer.android.com/guide/topics/media/index.html

显示您想要做的示例代码,您需要做的就是稍微调整一下。

答案 1 :(得分:0)

然后您可能会阅读有关MediaPlayers的文档。您不需要MediaButtons,只需在每个Button上应用一个简单的OnClickListener。 无需为此更改XML,也不需要更改清单。只需将OnClickListeners应用于它们即可。 您可以随心所欲地使用R.Java,因为在您使用XML更改某些内容时,它会被覆盖,复制新资源或其他任何内容。

编辑评论: 因此,如果你有像LinearLayout这样的RootView,你可以调用

LinearLayout yourRootLayout = findView....
int count = yourRootLayout.getChildCount();
for(int i = 0; i < count; i++){
    View v = yourRootLayout.getChildAt(i);
    if(v instanceof Button){
        Button b = (Button)v;
        b.setOnClickListener(this);
    }
}

你必须让你的Activity实现OnClickListener并在Button.getId()上的onClick(View v)中进行切换,并将它与你的R.id.YOUR_IDENTIFIER进行比较

EDIT2:
我不确切知道它会给你什么数量。检查一下。我认为它可以是直接的Childs,也可以是所有Childs。 如果它是每个孩子,你可以很高兴,只需将LinearLayout切换到TableLayout。如果不是,你必须向TableLayout询问ChildCount,如上所述迭代它们,但将它们转换为TableRow。然后问TableRow for Childs并收到你的按钮。

为每个Button调用findViewById可能更容易,并为这些10设置onClickListener。

是的,任何事情都可以在Java中完成