第三方库之 ExoPlayer

作者: Kevin_小飞象 | 来源:发表于2021-03-30 15:52 被阅读0次

    GitHub 地址
    最新版本:2.13.2

    概述

    ExoPlayer是运行在YouTube app Android版本上的视频播放器。
    优点:

    • 支持HTTP上的动态自适应流DASH和SmoothStreaming。
    • 支持高级的HLS特点,例如正确的处理#EXT-X-DISCONTINUITY标签。
    • 能够无缝的合并,串联,循环播放媒体文件。
    • 能够被高度扩展和定制,以适用不同的场景。

    使用

    1. 添加依赖
    implementation 'com.google.android.exoplayer:exoplayer:2.11.0'
    
    1. 清单文件中申请权限及 application 设置
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.hk.test">
    
        <uses-permission android:name="android.permission.INTERNET"/>
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/app_icon"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:usesCleartextTraffic="true"     //需加上,避免报错
            android:theme="@style/AppTheme">
            <activity
                android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    
    1. 布局文件
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <com.google.android.exoplayer2.ui.PlayerView
            android:id="@+id/video_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    
    </LinearLayout>
    
    1. MainActivity.java
    public class MainActivity extends AppCompatActivity {
        private PlayerView mPlayerView;
    
        private SimpleExoPlayer player;
    
        private boolean playWhenReady;
    
        private int currentWindow;
    
        private long playbackPosition;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            init();
        }
    
        private void init() {
           mPlayerView = findViewById(R.id.video_view);
           initializePlayer();
        }
    
        private void initializePlayer() {
            player = new SimpleExoPlayer.Builder(this).build();
    
            player.setPlayWhenReady(playWhenReady);
            player.seekTo(currentWindow, playbackPosition);
            Uri playUri = Uri.parse("https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218114723HDu3hhxqIT.mp4");
            MediaSource mediaSource = buildMediaSource(playUri);
            player.prepare(mediaSource, true, false);
    
            mPlayerView.setPlayer(player);
        }
    
        private MediaSource buildMediaSource(Uri uri) {
            DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(this, "com.example.exoplayerdemo");
            MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
            return videoSource;
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            player.release();
        }
    }
    

    小视频 url 地址:

    新冠肺炎疫情相关视频:武汉加油中国加油

    1. https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218114723HDu3hhxqIT.mp4
    2. https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218093206z8V1JuPlpe.mp4
    3. https://stream7.iqilu.com/10339/article/202002/18/2fca1c77730e54c7b500573c2437003f.mp4
    4. https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218025702PSiVKDB5ap.mp4
    5. https://stream7.iqilu.com/10339/upload_transcode/202002/18/202002181038474liyNnnSzz.mp4
    6. https://stream7.iqilu.com/10339/article/202002/18/02319a81c80afed90d9a2b9dc47f85b9.mp4
    7. http://stream4.iqilu.com/ksd/video/2020/02/17/c5e02420426d58521a8783e754e9f4e6.mp4
    8. http://stream4.iqilu.com/ksd/video/2020/02/17/87d03387a05a0e8aa87370fb4c903133.mp4
    9. https://stream7.iqilu.com/10339/article/202002/17/c292033ef110de9f42d7d539fe0423cf.mp4
    10. http://stream4.iqilu.com/ksd/video/2020/02/17/97e3c56e283a10546f22204963086f65.mp4
    11. https://stream7.iqilu.com/10339/article/202002/17/778c5884fa97f460dac8d90493c451de.mp4
    12. https://stream7.iqilu.com/10339/upload_transcode/202002/17/20200217021133Eggh6zdlAO.mp4
    13. https://stream7.iqilu.com/10339/article/202002/17/4417a27b1a656f4779eaa005ecd1a1a0.mp4
    14. https://stream7.iqilu.com/10339/upload_transcode/202002/17/20200217104524H4D6lmByOe.mp4
    15. https://stream7.iqilu.com/10339/upload_transcode/202002/17/20200217101826WjyFCbUXQ2.mp4
    16. http://stream.iqilu.com/vod_bag_2016//2020/02/16/903BE158056C44fcA9524B118A5BF230/903BE158056C44fcA9524B118A5BF230_H264_mp4_500K.mp4
    17. https://stream7.iqilu.com/10339/upload_transcode/202002/16/20200216050645YIMfjPq5Nw.mp4
    18. https://stream7.iqilu.com/10339/article/202002/16/3be2e4ef4aa21bfe7493064a7415c34d.mp4
    19. https://stream7.iqilu.com/10339/upload_transcode/202002/09/20200209105011F0zPoYzHry.mp4
    20. https://stream7.iqilu.com/10339/upload_transcode/202002/09/20200209104902N3v5Vpxuvb.mp4

    20 条速度比较快的地址:

    1. https://v-cdn.zjol.com.cn/280443.mp4
    2. https://v-cdn.zjol.com.cn/276982.mp4
    3. https://v-cdn.zjol.com.cn/276984.mp4
    4. https://v-cdn.zjol.com.cn/276985.mp4
    5. https://v-cdn.zjol.com.cn/276986.mp4
    6. https://v-cdn.zjol.com.cn/276987.mp4
    7. https://v-cdn.zjol.com.cn/276988.mp4
    8. https://v-cdn.zjol.com.cn/276989.mp4
    9. https://v-cdn.zjol.com.cn/276990.mp4
    10. https://v-cdn.zjol.com.cn/276991.mp4
    11. https://v-cdn.zjol.com.cn/276992.mp4
    12. https://v-cdn.zjol.com.cn/276993.mp4
    13. https://v-cdn.zjol.com.cn/276994.mp4
    14. https://v-cdn.zjol.com.cn/276996.mp4
    15. https://v-cdn.zjol.com.cn/276998.mp4
    16. https://v-cdn.zjol.com.cn/277000.mp4
    17. https://v-cdn.zjol.com.cn/277001.mp4
    18. https://v-cdn.zjol.com.cn/277002.mp4
    19. https://v-cdn.zjol.com.cn/277003.mp4
    20. https://v-cdn.zjol.com.cn/277004.mp4

    相关文章

      网友评论

        本文标题:第三方库之 ExoPlayer

        本文链接:https://www.haomeiwen.com/subject/nrslhltx.html