VideoViewシリーズ:簡単な例

  • VideoViewのビデオ再生のデモを書くのは簡単だと思いましたが、ピットがもっと一般的であるとは思っていませんでした。

    • パーミッションを追加する必要があります:ネットワーク、読み取りおよび書き込みメモリを少なくすることはできません。また、AndroidManifest.xmlとJavaコードを追加する必要があり、1つを見逃すことはできません。もちろん、パーミッションはRxPermissionフレームワークを導入する必要があります。
    • RxPermissionフレームワークでは、rxjavaとrxandroidを追加でインポートする必要がありますが、githubドキュメントには記載されていません。驚いた、驚かなかった、驚かなかった。
  • コードを同封し、感謝せずに持ち帰ります。

プロジェクトディレクトリのbuild.gradleファイル

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

appディレクトリのbuild.gradleファイル

dependencies {
    ...
//添加如下代码
    implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.0.1'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'

}
//使用方法
public class MainActivity extends AppCompatActivity {
    VideoView vv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        vv = findViewById(R.id.vv);
        getPermission();
    }

    private void getPermission() {
        new RxPermissions(MainActivity.this)
                .request(Manifest.permission.INTERNET, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                .subscribe(new Consumer<Boolean>() {
                    @Override
                    public void accept(Boolean aBoolean) throws Exception {
                        if (aBoolean) {
                            playVideo();
                            Log.e("xxx", "yy");
                        } else {
                            Log.e("xxx", "xx");
                        }
                    }
                });
    }

    private void playVideo() {
        vv.setVideoPath("https://www.w3school.com.cn/example/html5/mov_bbb.mp4");
        vv.start();
    }
}

おすすめ

転載: blog.csdn.net/zhangjin1120/article/details/113568512