ijkplayer之stop()方法介绍(ijkplayer播放器简介五)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuzehn/article/details/89021767

今天写一篇介绍ijkplayer播放器的文章,同时也作为自己学习ijkplayer的记录和总结。言归正传,ijkplayer可以说是当今移动端播放器界的新宠,简单的接口设计,跨平台支持(同时支持IOS和Android),而且还开源,支持二次开发,基于这些优点,ijkplayer深受广大移动端音视频开发工作者的喜爱。

stop()是ijkplayer结束播放媒体文件的接口方法,它正好与start()方法相对应。它在java层的具体实现如下:

    @Override
    public void stop() throws IllegalStateException {
        stayAwake(false);
        _stop();
    }

    private native void _stop() throws IllegalStateException;

它不需要参数,调用的jni方法是_stop()方法。从上到下的调用顺序如下图所示: 

尽管,stop()与start()方法对应,但是其具体的实现确实比后者复杂。从流程图中也可以看出,ijkplayer播放音频有两种选择,使用OpenSLES或者AudioTrack。具体使用哪个音频播放引擎,在java层是可以设置的,我们可以通过如下代码语句进行配置:

ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "opensles", 1);//使用OpenSLES
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "opensles", 0);//使用AudioTrack

猜你喜欢

转载自blog.csdn.net/liuzehn/article/details/89021767