纠结半天了 
java代码如下:package net.blogjava.mobile;import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AlphaAnimation;
import android.widget.Button;public class Main extends Activity implements OnClickListener,
OnCompletionListener
{
private MediaPlayer mediaPlayer;
private Button btnPause; @Override
public void onCompletion(MediaPlayer mp)
{
mp.release();
setTitle("资源已经释放");
       
} @Override
public void onClick(View view)
{
try
{
switch (view.getId())
{
case R.id.btnStart1:
mediaPlayer = MediaPlayer.create(this, R.raw.music);
mediaPlayer.setOnCompletionListener(this);
if (mediaPlayer != null)
mediaPlayer.stop();
mediaPlayer.prepare();
mediaPlayer.start();
break; case R.id.btnStart2:
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("/sdcard/music.mp3"); mediaPlayer.prepare();
mediaPlayer.start();
break;
case R.id.btnStop:
if (mediaPlayer != null)
{
mediaPlayer.stop();
}
break;
case R.id.btnPause:
if (mediaPlayer != null)
{
if ("播放".equals(btnPause.getText().toString()))
{
mediaPlayer.start();
btnPause.setText("暂停");
}
else if ("暂停".equals(btnPause.getText().toString()))
{
mediaPlayer.pause();
btnPause.setText("播放");
}
}
}
}
catch (Exception e)
{ } } @Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnStart1 = (Button) findViewById(R.id.btnStart1);
Button btnStart2 = (Button) findViewById(R.id.btnStart2);
Button btnStop = (Button) findViewById(R.id.btnStop);
btnPause = (Button) findViewById(R.id.btnPause);
btnStart1.setOnClickListener(this);
btnStart2.setOnClickListener(this);
btnStop.setOnClickListener(this);
btnPause.setOnClickListener(this); }
}布局文件如下:
               <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >    <Button
        android:id="@+id/btnStart1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="播放MP3资源文件" />    <Button
        android:id="@+id/btnStart2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="播放SD卡中的MP3文件" />    <Button
        android:id="@+id/btnStop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="停止" />    <Button
        android:id="@+id/btnPause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="暂停" /></LinearLayout>

解决方案 »

  1.   

    在layout中增加SeekBar控件,在代码中实现此SeekBar的OnSeekBarChangeListener。
    自己定义更新Seekbar的频率实现同步。
      

  2.   

    xml如下:
    <SeekBar
                    android:id="@+id/voiceseekbar"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:maxHeight="5dp"
                    android:paddingLeft="5dp"
                    android:paddingRight="5dp"
                    />代码如下:private SeekBar soundBar;
    private AudioManager mAudioManager = null;
    soundBar = (SeekBar) findViewById(R.id.voiceseekbar);
    //Activity改改
    mAudioManager = (AudioManager) Activity.this
    .getSystemService(JHTPlayVideoActivity.AUDIO_SERVICE);
    int maxSound = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    int curSound = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
    soundBar.setMax(maxSound);
    soundBar.setProgress(curSound);
    soundBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
    public void onStopTrackingTouch(SeekBar seekBar) {

    } public void onStartTrackingTouch(SeekBar seekBar) {

    } public void onProgressChanged(SeekBar seekBar, int progress,
    boolean fromUser) {
    if (fromUser) {
    curSound = soundBar.getProgress();
    mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
    curSound, 0);
    }
    }
    });嗯差不多了