音乐播放&视频

1,播放音乐

先new一个MediaPlay()实例 MediaPlay mMediaPlay = new MediaPlay();

1.设置点击按钮,然后添加运行权限,在自定义一个方法initMedirPlar()方法,在方法中指定文件路径File file =new File("路径"),通过MediaPlay实例调用setDataSource()方法得到文件路径,在用MediaPlay()调用permission()方法准备文件,其次在点击按钮中设置播放暂停,停止。

if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        } else {
            initViewPath();
}
}
 private void initMediaPlay() {
        try {
            File file = new File("/storage/emulated/0/aaa.mp3");
            mediaPlayer.setDataSource(file.getPath());//获取地址
            mediaPlayer.prepare();//准备播放
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
  public void onClick(View v) {
        switch (v.getId()) {
            case R.id.play:
                if (!mediaPlayer.isPlaying()) {
                    mediaPlayer.start();//开始播放
                }
                break;
            case R.id.pause:
                if (mediaPlayer.isPlaying()) {
                    mediaPlayer.pause();//暂停
                }
                break;
            case R.id.stop:
                if (mediaPlayer.isPlaying()) {
                    mediaPlayer.stop();//结束
                    initMediaPlay();
                }
                break;

 最后不要忘记释放资源哦:

   protected void onDestroy() {
        super.onDestroy();
        if (mediaPlayer != null) {
            mediaPlayer.stop();
            mediaPlayer.release();
        }

}

 播放视频与之大体一样就是要在布局中添加VideoView布局,并且在主函数中找到控件。

1.还是先找到视频路径(注意,这里的视频只能是mp4格式的)

File file = new File("路径“);

通过VideoView()a控件调用setViewPath()方法找到视频文件路径

最后在点击按钮中通过控件设置播放,暂停,重播。

    private void initViewPath() {
        File file = new File("/storage/emulated/0/pp.mp4");//地址
        mvideoview.setVideoPath(file.getPath());//获取地址
    }
  public void onClick(View v) {
        switch (v.getId()) {
            //播放视频按钮
            case R.id.mplay:
                if (!mvideoview.isPlaying()){
                    mvideoview.start();
                }
                break;
            case R.id.mpause:
                if (mvideoview.isPlaying()){
                    mvideoview.pause();
                }
                break;
            case R.id.mstop:
                if (mvideoview.isPlaying()){
                    mvideoview.resume();//重播
                }
                break;


            default:
                break;
        }
    }

 最后还是释放资源

    @Override
    protected void onDestroy() {
        super.onDestroy();
    
        if (mvideoview!=null){
            mvideoview.suspend();
        }
    }
原文地址:https://www.cnblogs.com/lyl123/p/7193436.html