创建新的随机音频文件时,播放随机音频 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的主要内容,如果未能解决你的问题,请参考以下文章

使用 Swift 播放随机音频文件

HTML 音频 - 通过单击 [重复] 随机播放

如何在 Xcode11 中的 Swift 中随机播放数组中的音频文件?

在 Mac 上使用 OpenAL 播放音频时出现随机噪音

屏幕上带有标题的随机音频

使用 SoundCloud 默认音频小部件,您可以将其设置为从 JavaScript 随机播放吗?