博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ijkplayer实现IMediaDataSource
阅读量:5310 次
发布时间:2019-06-14

本文共 1488 字,大约阅读时间需要 4 分钟。

由于ijkplayer不能识别android.resource类型的资源在播放raw中的文件的时候用IjkMediaPlayer不能正常播放,实现IMediaDataSource为IjkMediaPlayer提供资源。

class RawDataSourceProvider implements IMediaDataSource{    AssetFileDescriptor mDescriptor;    byte[]  mMediaBytes;    long mPosition;    public RawDataSourceProvider(AssetFileDescriptor descriptor) {        this.mDescriptor = descriptor;    }    @Override    public int readAt(long position, byte[] buffer, int offset, int size) throws IOException {        if(position + 1 >= mMediaBytes.length){            return -1;        }        int length;        if(position + size < mMediaBytes.length){            length = size;        }else{            length = (int) (mMediaBytes.length - position);            if(length > buffer.length)                length = buffer.length ;            length--;        }        System.arraycopy(mMediaBytes, (int) position, buffer, offset, length);        mPosition = position;        return length;    }    @Override    public long getSize() throws IOException {        long length  = mDescriptor.getLength();        if(mMediaBytes == null){            Source source = Okio.source(mDescriptor.createInputStream());            mMediaBytes = Okio.buffer(source).readByteArray();        }        return length;    }    @Override    public void close() throws IOException {        if(mDescriptor != null)            mDescriptor.close();        mDescriptor = null;        mMediaBytes = null;    }}

转载于:https://www.cnblogs.com/xwgblog/p/5287151.html

你可能感兴趣的文章
Java面向对象重要关键字
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
rtmp服务器以及rtmp推流/拉流/转发
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
挑战常规--不要这样使用异常
查看>>
malloc函数的用法
查看>>
渐变的参数
查看>>
C#委托详解(3):委托的实现方式大全(续)
查看>>
RaceWeb终于可以在oracle中快速建表了
查看>>
jsp自定义标签
查看>>
多线程idhttp下载文件源代码(转)
查看>>
CSS中width和height与盒子模型的关系
查看>>
字符个数统计
查看>>
模板大集合
查看>>
《学习之道》第二章学习方法1思维钩子△
查看>>
Alpha 冲刺 (1/10)
查看>>
PHP : Reflection API
查看>>
php : 匿名函数(闭包) [二]
查看>>
check hosts file
查看>>
开放系统互联参考模型
查看>>