创建新的随机音频文件时,播放随机音频 onClick 不会重置 - Android
Posted
技术标签:
【中文标题】创建新的随机音频文件时,播放随机音频 onClick 不会重置 - Android【英文标题】:Playing random audio onClick doesn't reset when a new random audio file is created - Android 【发布时间】:2014-05-09 20:28:19 【问题描述】:这里有点安卓编程菜鸟。只是试图让我的音频停止播放并在每次单击我的 imageButton 时播放新的随机音频。如果您能帮助查明我的问题,那就太好了。
package com.shamu11.musesoundboard;
import java.util.Random;
//import com.shamu11.firstapp.MainActivity;
//import com.shamu11.firstapp.R;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
public class MainActivity extends Activity
ImageButton buttonOne;
private final int NUM_SOUND_FILES = 3;
private int mSndFilesMatt[] = new int[NUM_SOUND_FILES];
private Random rnd = new Random();
MediaPlayer matt;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSndFilesMatt[0] = R.raw.fury;
mSndFilesMatt[1] = R.raw.knights_of_cydonia;
mSndFilesMatt[2] = R.raw.supremacy;
buttonOne = (ImageButton) findViewById(R.id.imageButton1);
buttonOne.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// TODO Auto-generated method stub
int sndToPlay = rnd.nextInt(NUM_SOUND_FILES);
matt = MediaPlayer.create(MainActivity.this, mSndFilesMatt[sndToPlay]);
matt.seekTo(0);
matt.start();
);
【问题讨论】:
【参考方案1】:试试这个
public void onClick(View v)
// TODO Auto-generated method stub
int sndToPlay = rnd.nextInt(NUM_SOUND_FILES);
matt.reset();
matt = MediaPlayer.create(MainActivity.this,mSndFilesMatt[sndToPlay]);
matt.seekTo(0);
matt.start();
【讨论】:
这有点作用,但在点击几下(每次点击之间还剩 3 秒)后,音频开始断断续续,然后与其他音频混合。 我以前从未使用过 MediaPlayer,但我只是想在编辑后帮助尝试新代码,希望它能正常工作以上是关于创建新的随机音频文件时,播放随机音频 onClick 不会重置 - Android的主要内容,如果未能解决你的问题,请参考以下文章