我对编程很陌生,这是我第一次尝试应用程序。我有一个表格布局与按钮,我希望每个按钮播放一个声音(即音板)。我可以很好地处理,但我现在有40个按钮,每一个我都调用一个mediaplayer的新实例,所以最终我结束了太多,声音停止播放。
我对每个按钮都有以下代码:
MediaPlayer MP1=MediaPlayer.Create(this,resource.raw.sound01);
Button button1 = FindViewById<Button> (Resource.Id.button1);
button1.Click += (object sender, EventArgs e) =>
{
MP1.Start();
MP1.Release();
};
MediaPlayer MP2=MediaPlayer.Create(this,resource.raw.sound01);
Button button2 = FindViewById<Button> (Resource.Id.button2);
button2.Click += (object sender, EventArgs e) =>
{
MP2.Start();
MP2.Release();
};
等等。
我意识到这是非常重复和糟糕的代码。我被告知我需要使用mediaplayer的全局实例,并在声音播放后发布它,但我不知道如何做这两件事。我还发现了一个建议,可以做这样的东西:
private int buttonIds = { R.id.button01, R.id.button02, R.id.button03, R.id.button04, etc };
private int soundIds = { R.raw.sound01, R.raw.sound02, R.raw.sound03, R.raw.sound04, etc };
任何关于直接代码示例的帮助都能帮我大忙,谢谢
这也许能帮你点忙...
final MediaPlayer player = new MediaPlayer();
final Resources res = getResources();
final int[] buttonIds = { R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4, R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9 };
final int[] soundIds = { R.raw.s1, R.raw.s2, R.raw.s3, R.raw.s4, R.raw.s5, R.raw.s6, R.raw.s7, R.raw.s8, R.raw.s9 };
// On Click Listener tells the button to play the sound.
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < buttonIds.length; i++) {
if (v.getId() == buttonIds[i]) {
selectedSoundId = soundIds[i];
AssetFileDescriptor afd = res.openRawResourceFd(soundIds[i]);
player.reset();
try {
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
player.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
player.start();
break;
}
}
}
};
// Matches the button with its correct sound???
for (int i = 0; i < buttonIds.length; i++) {
Button soundButton = (Button)findViewById(buttonIds[i]);
registerForContextMenu(soundButton);
soundButton.setOnClickListener(listener);
}
将此放入mainactivity.java的OnCreate方法中。在代码“int selectedsoundid;”中的方法类型之外否则将出现错误。此外,请确保使用按钮,否则会出现另一个错误。希望这有帮助!!!
问题内容: 当我尝试使用粘贴到单元格时,我要粘贴的单元格保持空白,但setValueAt()似乎可以正常工作。另外,当我尝试从一个单元格剪切或复制JPopupMenu时,如果要粘贴到另一个单元格,则我的“粘贴”选项将保持禁用状态。我不知道为什么。我的代码如下。 Here’s my code for 问题答案: 根据您的示例代码,并且必须填写空白,它对 我有用… Now, maybe you’d l
我能够在MediaCodec和MediaMuxer的帮助下录制(编码)视频。接下来,我需要在MediaCodec和MediaMuxer的帮助下处理音频部分和带视频的mux音频。 我面临两个问题: > 如何将音频和视频数据传递给MediaMuxer(因为writeSampleData()方法一次只接受一种类型的数据)? 我提到了MediaMuxerTest,但它使用的是MediaExtractor。
本文向大家介绍Python3使用PyQt5制作简单的画板/手写板实例,包括了Python3使用PyQt5制作简单的画板/手写板实例的使用技巧和注意事项,需要的朋友参考一下 1.前言 版本:Python3.6.1 + PyQt5 写一个程序的时候需要用到画板/手写板,只需要最简单的那种。原以为网上到处都是,结果找了好几天,都没有找到想要的结果。 网上的要么是非python版的qt程序(要知道qt版本
我正在开发一个应用程序,它可以使用语音控制音乐播放器。例如,当我说"play"音乐播放器播放歌曲,或者说"Next"音乐播放器将播放下一首歌曲,等等。我已经谷歌了,但没有找到任何想法或源代码。 问题: > 使用语音控制音乐播放器的想法 源代码示例。 提前感谢。 可能相关:Android-语音控制-媒体意图
模板文件:User/register.html <form class="form-horizontal js-ajax-form" action="{:U('user/register/doregister')}" method="post"> <label class="control-label" for="input_username">账号</label> <input
模板文件:User/login.html <form class="js-ajax-form" action="{:U('user/login/dologin')}" method="post"> <label for="input_username">账号</label> <input type="text" id="input_username" name="username"