zoukankan      html  css  js  c++  java
  • eclipse集成ijkplayer项目

    1.ijkplayer是什么

    ijkplayer是b站开源的一个视频插件,基于ffmpeg, 支持 Android 和 iOS,可以代替android自带的videview,有不错的体验,支持的视频文件格式也挺多的。

    2.编译ijkplayer

    由于编译ijkplayer比较耗时间,我这边有现成编译好的so包,你这边直接拿去用就可以了,下面会给出下载的连接。

    3.eclipse集成ijkplayer

    3.1 导入相应的资源

    由于集成ijkplayer需要导入相应的so文件,也就是第2步编译生成的,你那边直接把我项目下libs目录中的jar包和so文件拿过去复制进自己的项目即可。

    注:由于ijkplayer需要v7包的支持,你需要把我提供的appcompat这个library引入到自己的项目中

    3.2 初始化播放器

    在自己的activity中需要加入以下代码,引入刚才编译好的so文件

    IjkMediaPlayer.loadLibrariesOnce(null);
    IjkMediaPlayer.native_profileBegin("libijkplayer.so");

    3.3  初始化自定义播放器

    //这里使用的是Demo中提供的AndroidMediaController类控制播放相关操作
    mMediaController = new AndroidMediaController(this, false);
    mMediaController.setSupportActionBar(actionBar);
    mVideoView = (IjkVideoView) findViewById(R.id.video_view);
    mVideoView.setMediaController(mMediaController);

    3.3设置本地播放器位置

    mVideoView.setVideoPath(mVideoPath);
    mVideoView.start();

    3.4 销毁时释放资源

    @Override
    public void onBackPressed() {
        mBackPressed = true;
        super.onBackPressed();
    }
    @Override
    protected void onStop() {
        super.onStop();
        //点击返回或不允许后台播放时 释放资源
        if (mBackPressed || !mVideoView.isBackgroundPlayEnabled()) {
            mVideoView.stopPlayback();
            mVideoView.release(true);
            mVideoView.stopBackgroundPlay();
        } else {
            mVideoView.enterBackground();
        }
        IjkMediaPlayer.native_profileEnd();
    }

    3.5  进度条设置

    seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListenerImp());
    class OnSeekBarChangeListenerImp implements SeekBar.OnSeekBarChangeListener {
    
            // 触发操作,拖动
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
            }
    
            // 表示进度条刚开始拖动,开始拖动时候触发的操作
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
    
            // 停止拖动时候
            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
                if (player != null && player.isPlaying()) {
                    // 设置当前播放的位置
                    videoView
                            .seekTo((int) (1.0f * seekBar.getProgress() / 100 * videoView
                                    .getDuration()));
                }
            }
        }

     4。 下载地址

         下载地址

      

  • 相关阅读:
    范仁义js课程---59、this
    javascript疑难问题---9、闭包执行问题
    jetbrains
    React-Native首次运行提示-ReferenceError-Can-t-find-variable-fbBatchedBridge
    visual studio 2015提示IE10未安装
    【转】在Windows下搭建React Native Android开发环境
    Android Studio 简单设置
    【转】Spring 4.x实现Restful web service
    SecureCRT 终端仿真程序 v7.0.0.326 中文绿色便携破解版
    《Spring技术内幕》学习笔记17——Spring HTTP调用器实现远程调用
  • 原文地址:https://www.cnblogs.com/dtj007/p/6677153.html
Copyright © 2011-2022 走看看