播放两个音频文件在android中

时间:2011-06-03 06:51:32

标签: android audio

我是Android的新手,我正在尝试开发一个应用程序,我可以在其中获取两个音乐文件。当应用程序启动时,当用户单击按钮时播放第一首音乐,第二首音乐播放,第一首音乐必须缓慢淡出。

我试过了,但我最终一个接一个地播放了两个音乐文件。我无法获得如何带来淡出效果。

这是我的示例代码

package com.Audio;

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

public class DemoAudio extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MediaPlayer mp=MediaPlayer.create(getBaseContext(), R.raw.fruit_dance);
        mp.start();
        mp.setVolume(1.0f, 1.0f);

        Button btn=(Button) findViewById(R.id.xBtn);
        btn.setOnTouchListener(new OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event){
                if(event.getAction()==MotionEvent.ACTION_DOWN){
                    final MediaPlayer mp1=MediaPlayer.create(getBaseContext(), R.raw.futurebells_full);
                    mp1.start();
                    mp1.setVolume(5.0f, 5.0f);
                }
                return true;
            }
        });
     }

}

任何帮助将不胜感激。非常感谢。

3 个答案:

答案 0 :(得分:2)

我得到了答案。我已经为MediaPlayer创建了两个单独的对象,并且通过使用一些方法,我已经调整了他们的音量,第一个音乐降低音高,第二个音高调音高,这就是我想要的。

这可以通过使用线程很好地实现,它似乎比直接设置卷更好。

答案 1 :(得分:1)

看到它fade-in-out 我认为它类似于你的问题。

答案 2 :(得分:1)

如果使用Java线程,可以同时播放两个文件。在两个不同的线程中启动MediaPlayer对象。始终将线程用于非UI相关的东西。