mediaplay的运用以及详细用法

来源:互联网 发布:口红推荐知乎 编辑:程序博客网 时间:2024/06/11 08:13

先说一个关于制作画线的版的问题,

画线版,首先你想到的肯定是一个动态的,因为起点终点不固定,动态的布局就要View,新建一个类,继承View类,要用到,起点,终点坐标,还有就onTouchEvent

用来监听你的手的动作。之后,还要刷新画板。

代码如下

package com.example.androidmedia;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.view.MotionEvent;import android.view.View;public class Huaxian extends View {private float x0, y0;//起点private float x1, y1;//终点public Huaxian(Context context) {super(context);// TODO Auto-generated constructor stub}@Overrideprotected void onDraw(Canvas canvas) {Paint p = new Paint();//画笔canvas.drawLine(x0, y0, x1, y1, p);super.onDraw(canvas);}@Overridepublic boolean onTouchEvent(MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:           x0=event.getX();           y0=event.getY();           break;case MotionEvent.ACTION_MOVE:              x1=event.getX();              y1=event.getY();break;case MotionEvent.ACTION_UP: x1=event.getX();             y1=event.getY();break;default:break;}invalidate();//刷新return true;}}

mediaplay的播放音乐

package com.example.androidmedia;<span style="font-size:18px;">import java.io.IOException;import android.media.MediaPlayer;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;import android.view.View;import android.widget.Button;public class MusicActivity extends Activity {private Button id;private MediaPlayer mp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_music);id = (Button) findViewById(R.id.bt_pause);mp = new MediaPlayer();//新建Mediaplay}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_music, menu);return true;}public void click(View v) {switch (v.getId()) {case R.id.bt_start:mp.reset();//try {mp.setDataSource("/mnt/sdcard/music.mp3");//链接文件库,方法多种,mp.prepare();mp.start();} catch (IOException e) {e.printStackTrace();}break;case R.id.bt_pause:if (mp != null) {if (mp.isPlaying()) {mp.pause();id.setText("继续");} else {mp.start();id.setText("暂停");}}break;case R.id.bt_stop:if (mp != null) {mp.stop();mp.release();this.finish();}break;case R.id.bt_restart:if (mp != null) {mp.stop();try {mp.prepare();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}mp.seekTo(0);//从头开始播放mp.start();}break;default:break;}}}</span>
mediaplay要遵守其生命周期图的运行过程,来调用某个方法



媒体的播放与此差不多,只要添加一个SurfaceView。


0 0