在paid显示,存在适配问题,需要空间扩展自定义
1.MainActivity
package com.example.chenkui.playsound;
import android.content.Intent;
import android.media.AudioManager;
import android.media.SoundPool;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private SoundPool soundPool;
private int soundId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
1. SundPool用来播放小儿短的音频
*/
soundPool= new SoundPool(1, AudioManager.STREAM_MUSIC,0);
soundId= soundPool.load(this,R.raw.sund,1);
Button btnPlaySound=(Button)findViewById(R.id.btnPlaySound);
btnPlaySound.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
soundPool.play(soundId ,1,1,-1,1,0);
}
});
/**
* 音乐播放;
*/
Button btnPlayMuisc=(Button)findViewById(R.id.btnPlayMuisc);
btnPlayMuisc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this,MuiscActivity.class));
}
});
/**
* MeidiaPlayer实现视频播放;
*/
Button btnMeidiaPlayerVeidio=(Button)findViewById(R.id.btnMeidiaPlayerVeidio);
btnMeidiaPlayerVeidio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this,MeidiaPlayerforVeidioActivity.class));
}
});
/**
* VeidioPlayer实现视频播放
*/
Button btnVeidioPlayer=(Button)findViewById(R.id.btnVeidioPlayer);
btnVeidioPlayer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this,VideoViewPlayerActivity.class));
}
});
}
}
- activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.chenkui.playsound.MainActivity">
<Button
android:id="@+id/btnPlaySound"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="PlaySound" />
<Button
android:id="@+id/btnPlayMuisc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="PlayMuisc" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnMeidiaPlayerVeidio"
android:textSize="20sp"
android:text="MeidiaPlayerVeidio"/>
<Button
android:id="@+id/btnVeidioPlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="VeidioPlayer"/>
</LinearLayout>
- MeidiaPlayerforVeidioActivity
package com.example.chenkui.playsound;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.media.MediaPlayer;
import java.io.IOException;
public class MeidiaPlayerforVeidioActivity extends Activity {
private SurfaceView sv;
private SurfaceHolder holder;
public Callback surfaceHolderCallback=new Callback() {
private MediaPlayer meidiaPlayer;
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
meidiaPlayer=MediaPlayer.create(MeidiaPlayerforVeidioActivity.this,R.raw.hja);
// try {
// meidiaPlayer.prepare();
// } catch (IOException e) {
// e.printStackTrace();
// }
meidiaPlayer.setDisplay(holder);
meidiaPlayer.start();
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
meidiaPlayer.release();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sv=new SurfaceView(MeidiaPlayerforVeidioActivity.this);
holder= sv.getHolder();
holder.addCallback(surfaceHolderCallback);
setContentView(sv);
}
}
- MuiscActivity
package com.example.chenkui.playsound;
import android.media.MediaPlayer;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.io.IOException;
public class MuiscActivity extends AppCompatActivity implements View.OnClickListener, MediaPlayer.OnCompletionListener {
private MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_muisc);
findView();
}
private Button btnStart1;
private Button btnStart2;
private Button btnStop;
private Button btnPause;
private void findView() {
btnStart1 = (Button) findViewById(R.id.btnStart1);
btnStart2 = (Button) findViewById(R.id.btnStart2);
btnStop = (Button) findViewById(R.id.btnStop);
btnPause = (Button) findViewById(R.id.btnPause);
btnStart1.setOnClickListener(this);
btnStart2.setOnClickListener(this);
btnStop.setOnClickListener(this);
btnPause.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btnStart1://资源文件里:
onStopMedia();
mediaPlayer=MediaPlayer.create(this,R.raw.sund);
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.start();
btnPause.setText("暂停");
break;
case R.id.btnStart2://SDK 文件资源播放
try {
onStopMedia();
mediaPlayer=new MediaPlayer();
mediaPlayer.setDataSource("/mnt/sdcard/Music/Over_the_horizon.mp3");
mediaPlayer.prepare();
mediaPlayer.start();
btnPause.setText("暂停");
} catch (IOException e) {
e.printStackTrace();
}
break;
case R.id.btnStop:
if (mediaPlayer!=null){
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
}
}
break;
case R.id.btnPause:
onStopMedia();
if(mediaPlayer!=null){
if("播放".equals(btnPause.getText().toString())){
mediaPlayer.start();
btnPause.setText("暂停");
}else if("暂停".equals(btnPause.getText().toString())){
mediaPlayer.pause();
btnPause.setText("播放");
}
}
break;
}
}
private void onStopMedia(){
if (mediaPlayer!=null){
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
}
}
}
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mediaPlayer.release();
Toast.makeText(MuiscActivity.this,"播放完毕",Toast.LENGTH_LONG).show();
}
}
5.activity_muisc
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.chenkui.playsound.MuiscActivity">
<Button
android:id="@+id/btnStart1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="start1"/>
<Button
android:id="@+id/btnStart2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="start2"
android:textSize="30sp"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnStop"
android:textSize="30sp"
android:text="stop"/>
<Button
android:id="@+id/btnPause"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="pause"/>
</LinearLayout>
- VideoViewPlayerActivity
package com.example.chenkui.playsound;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoViewPlayerActivity extends AppCompatActivity {
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
videoView=new VideoView(VideoViewPlayerActivity.this);
setContentView(videoView);
videoView.setVideoPath("/mnt/sdcard/Music/hj.mp4");
videoView.setMediaController(new MediaController(this));
}
}