zoukankan      html  css  js  c++  java
  • android播放视频

    android播放视频用的是SurfaceView和MediaPlayer

    具体实现和播放音乐一样

    package com.example.videoplayer;
    
    
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.SurfaceHolder;
    import android.view.SurfaceHolder.Callback;
    import android.view.SurfaceView;
    
    public class MainActivity extends Activity {
        
        private MediaPlayer player;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            SurfaceView sv = (SurfaceView) findViewById(R.id.sfv);
            //拿到surfaceview的控制器
            final SurfaceHolder sh = sv.getHolder();
            sh.addCallback(new Callback() {
                
                
                //surfaceView销毁时调用
                @Override
                public void surfaceDestroyed(SurfaceHolder holder) {
                    //每次surfaceview销毁时,同时停止播放视频
                    if(player!=null){
                        player.stop();
                        player.release();
                        player=null;
                    }
                    
                }
                //surfaceView创建时调用
                @Override
                public void surfaceCreated(SurfaceHolder holder) {
                    //每次surfaceView创建时才去播放视频
                    if(player == null){
                        player = new MediaPlayer();
                        player.reset();
                        try {
                            player.setDataSource("sdcard/1.mp4");
                            player.setDisplay(sh);
                            player.prepare();
                            player.start();
                        } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } 
                    }
                    
                }
                //surfaceView结构改变时调用
                @Override
                public void surfaceChanged(SurfaceHolder holder, int format, int width,
                        int height) {
                    // TODO Auto-generated method stub
                    
                }
            });
            
        }
    
        
    
    }
  • 相关阅读:
    Pycharm中 import 引入同级文件失败问题
    Python实现 K_Means聚类算法
    Python 的 Matplotlib 画图库
    Numpy库应用实例——GPS定位
    Python 的 Numpy 库
    Python 各种库的安装
    Python 的 pandas 实践
    方差、协方差、协方差矩阵
    Python实现梯度下降法
    Vue 不睡觉教程3
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4992424.html
Copyright © 2011-2022 走看看