您的位置:首页 > 移动开发 > Android开发

Android 多媒体之music之舞

2015-11-22 03:46 453 查看
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;
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: