在android中播放两个音频文件
Posted
技术标签:
【中文标题】在android中播放两个音频文件【英文标题】:Playing two audio files In android 【发布时间】:2011-06-03 06:51:31 【问题描述】:我是 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;
);
任何帮助将不胜感激。非常感谢。
【问题讨论】:
【参考方案1】:我得到了答案。我为 MediaPlayer 创建了两个单独的对象,并通过使用一些方法调整了它们的音量,第一个音乐降低了音高,第二个音乐提高了音高,这就是我想要的。
这可以通过使用线程来很好地实现,它似乎比直接设置音量更好。
【讨论】:
【参考方案2】:看到它fade-in-out 我认为这与您的问题相似。
【讨论】:
【参考方案3】:如果使用 Java 线程,则可以同时播放两个文件。在两个不同的线程中启动您的 MediaPlayer 对象。始终将线程用于非 UI 相关的内容。
【讨论】:
以上是关于在android中播放两个音频文件的主要内容,如果未能解决你的问题,请参考以下文章