android 音频视频播放案列

在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));

            }
        });


    }
}
  1. 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>
  1. 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);



    }
}
  1. 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>
  1. 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));


    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值