java - 如何在android中播放多个音频文件?

标签 java android

我正在创建一个简单的项目,我正在制作一个允许我播放多个音频文件的应用程序。

我想播放多个文件,有人可以帮我吗?我创建了两个按钮,其中一个播放一首歌曲,另一个按钮播放另一首。但是,一个按钮只能播放我添加的最近的音频。有人知道该怎么做吗? 这是我的代码示例:

package com.example.soundboard;

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.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;


public class MainActivity extends Activity {


    MediaPlayer myMediaPlayer = null;
    MediaPlayer myMediaPlayer1 = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView image = (ImageView) findViewById(R.id.herbimage);
        myMediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.icecream);
        myMediaPlayer1 = MediaPlayer.create(MainActivity.this, R.raw.boxandstring);
        Button soundclip1 = (Button) findViewById(R.id.button1);
        Button soundclip2 = (Button) findViewById(R.id.button2);
        soundclip1.setOnClickListener (new OnClickListener()
        {
            @Override
            public void onClick(View view)
            {

                myMediaPlayer.start();
                myMediaPlayer.pause();

            }
        });

        //second sound clip
        soundclip2.setOnClickListener (new OnClickListener()
        {
            @Override
            public void onClick(View view)
            {

                myMediaPlayer1.start();

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }


}

最佳答案

尝试使用 SoundPool 类 它有不止一种声音

关于java - 如何在android中播放多个音频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26984767/

相关文章:

java - 使用 JAXB 将日期从 XML 文件解码到 XMLGregorianCalendar

java - 在struts中将字符串打印为html组件

java - 在 JAVA 中使用特定模式从字符串中获取子字符串

android - 以修改零件为目的创建 gstreamer 管道

java - 从 void 方法写入文件

java - 关闭查询后获取耶拿结果集 - 用于模块化

java - 改造返回空值

android - 如何在 v7 中创建 Widget.Holo.Spinner 风格的小部件

android - 在Dagger2中,@Singleton注解的用途是什么?

java - 如何将 HashMap 保存到 Android 中的文件?