java - Android 上的随机音乐播放器

标签 java android media-player

所以我正在 Android 上制作这个星球大战粉丝应用程序。

我有尤达的这张图片和他的一个按钮。当您点击它时,现在他会说一句话(使用媒体播放器)。 问题是,我想让他说不同的话,所以我得到了 4 个不同的 MP3 文件,但是当用户单击按钮时,如何让它随机选择播放哪个文件?

这是我现在的代码:

package be.ehb.arnojansens.simpleFrag;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import be.ehb.arnojansens.fragmentexampleii.R;

public class SimpleFragmentActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_simple_fragment);

        final Button advice = (Button) findViewById(R.id.YodaAdvice);
        final MediaPlayer mp = MediaPlayer.create(this, R.raw.yodamessage);

        advice.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Toast.makeText(getApplicationContext(), "Hmm Busy I Am", Toast.LENGTH_LONG).show();
                mp.start();

            }
        });

    }

}

最佳答案

您可以收到 4 条最终消息

final MediaPlayer mp = MediaPlayer.create(this, R.raw.yodamessage);
final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.yodamessage1);//File names would be different I guess
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.yodamessage2);
final MediaPlayer mp3 = MediaPlayer.create(this, R.raw.yodamessage3);

你还需要一个随机

Random random=new Random();

然后在您的点击方法中

int r = random.nextInt(4);
if(r==0){
mp.start();
Toast.makeText(getApplicationContext(), "Hmm Busy I Am", Toast.LENGTH_LONG).show();
} 
if(r==1){
mp1.start();
Toast.makeText(getApplicationContext(), "I'm hungry", Toast.LENGTH_LONG).show();
} 
if(r==2){
mp2.start();
Toast.makeText(getApplicationContext(), "My droid now", Toast.LENGTH_LONG).show();
} 
if(r==3){
mp3.start();
Toast.makeText(getApplicationContext(), "Not droid you are looking for", Toast.LENGTH_LONG).show();
}  

关于java - Android 上的随机音乐播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010065/

相关文章:

android - 使用 Android MediaPlayer 播放声音时出现问题

c# - ffmpeginterop.uwp 库给出未注册错误

java - 如何调用类/静态方法

java - Runtime.getRuntime().availableProcessors()

java - 测量代码单元的内存使用情况

android - Cocos2d-x-3.1.1 在运行 build_native.py 时出错

android - setVideoSurfaceTexture 失败 : -22 in mediaplayer

java - 使用paint方法创建类的对象

java - 获取UI层次结构时出错原因: Error while obtaining UI hierarchy XML file: com. android.ddmlib.SyncException:远程对象不存在

android - 如何对具有不同内容的三个选项卡使用相同的 fragment ?