我是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;
}
});
}
}
任何帮助将不胜感激。非常感谢。
答案 0 :(得分:2)
我得到了答案。我已经为MediaPlayer创建了两个单独的对象,并且通过使用一些方法,我已经调整了他们的音量,第一个音乐降低音高,第二个音高调音高,这就是我想要的。
这可以通过使用线程很好地实现,它似乎比直接设置卷更好。
答案 1 :(得分:1)
看到它fade-in-out 我认为它类似于你的问题。
答案 2 :(得分:1)
如果使用Java线程,可以同时播放两个文件。在两个不同的线程中启动MediaPlayer对象。始终将线程用于非UI相关的东西。