Android 多媒体之music之舞

package com.cwj.test;


import java.io.IOException;


import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.SoundPool;
import android.media.MediaPlayer.OnPreparedListener;
import android.media.SoundPool.OnLoadCompleteListener;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {
private Button bt_play, bt_pause, bt_stop;
private MediaPlayer mediaplayer;
private SoundPool soundpool;
int qianyuqian=-2;
private Handler handler = new Handler() {


@Override
public void handleMessage(Message msg) {
Toast.makeText(MainActivity.this, msg.obj.toString(), 0).show();
}
};


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initSoundPool();
bt_play = (Button) findViewById(R.id.bt_play);
bt_pause = (Button) findViewById(R.id.bt_pause);
bt_stop = (Button) findViewById(R.id.bt_stop);
bt_play.setOnClickListener(this);
bt_pause.setOnClickListener(this);
bt_stop.setOnClickListener(this);
mediaplayer = new MediaPlayer();
mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
Uri uri = Uri
.parse("http://yinyueshiting.baidu.com/data2/music/258442459/258440315212400128.mp3?xcode=bc752c4235240b6690032d54ecb07301");
Toast.makeText(MainActivity.this, "开始准备", 0).show();
try {
mediaplayer.setDataSource(this, uri);


mediaplayer.prepareAsync();
mediaplayer.setOnPreparedListener(new OnPreparedListener() {


@Override
public void onPrepared(MediaPlayer mp) {
Toast.makeText(MainActivity.this, "准备好了", 0).show();
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
Message msg = new Message();
msg.obj = e.toString();
handler.sendMessage(msg);
}


}


private void initSoundPool() {
soundpool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
qianyuqian = soundpool.load(this, R.raw.qianyuqian, 1);
soundpool.setOnLoadCompleteListener(new OnLoadCompleteListener() {

@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
Toast.makeText(MainActivity.this, "soundpool 准备好了,开始", 0).show();
soundpool.play(qianyuqian, 1, 1, 1, 0, 1);
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_play:
if (mediaplayer != null)
mediaplayer.start();
bt_play.setEnabled(false);
break;
case R.id.bt_pause:
if (bt_pause.getText().equals("继续")) {
if (mediaplayer != null)
mediaplayer.start();
bt_pause.setText("暫停");
return;
}
if (mediaplayer != null) {
mediaplayer.pause();
bt_pause.setText("继续");
}
break;
case R.id.bt_stop:
if (mediaplayer != null) {
mediaplayer.stop();
}
bt_play.setEnabled(true);
bt_pause.setText("暂停");


break;


default:
break;
}


}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺哥是我

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值