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

    1、定义

    private int mVideoWidth;
    private int mVideoHeight;

    private MediaPlayer mMediaPlayer;
    private SurfaceView mPreview;
    private SurfaceHolder holder;
    private String path;

    mPreview = (SurfaceView) findViewById(R.id.surface);
    /* 得到SurfaceHolder对象 */
    holder = mPreview.getHolder();
    /* 设置回调函数 */
    holder.addCallback(this);
    /* 设置风格 */
    holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

    2、播放

    path = "/sdcard/aas.mp4";
    /* 构建MediaPlayer对象 */
    mMediaPlayer = new MediaPlayer();
    /* 设置媒体文件路径 */
    mMediaPlayer.setDataSource(path);
    /* 设置通过SurfaceView来显示画面 */
    mMediaPlayer.setDisplay(holder);
    /* 准备 */
    mMediaPlayer.prepare();
    /* 设置事件监听 */
    mMediaPlayer.setOnBufferingUpdateListener(this);
    mMediaPlayer.setOnCompletionListener(this);
    mMediaPlayer.setOnPreparedListener(this);
    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

    mVideoWidth = mMediaPlayer.getVideoWidth();
    mVideoHeight = mMediaPlayer.getVideoHeight();
    if (mVideoWidth != 0 && mVideoHeight != 0)
    {
    /* 设置视频的宽度和高度 */
    holder.setFixedSize(mVideoWidth, mVideoHeight);
    /* 开始播放 */
    mMediaPlayer.start();
    }

  • 相关阅读:
    DoubleAnimation
    Android 图片浏览器 从原来位置放大至全屏显示
    类似qq的左滑菜单栏简单实现
    UITableView去掉section的header的粘性
    swift 闭包循环引用
    AFNetworking3.0使用
    IOS线程学习(一)
    CIImage实现滤镜效果
    UIImage学习
    可滑动的ExpandableListView
  • 原文地址:https://www.cnblogs.com/wdc224/p/3744069.html
Copyright © 2011-2022 走看看