masterwok / simple-vlc-player翻译 / 编辑

最近提交:5天前
创建时间:2018.05.31

语言构成

Java100.0%

README

Release

simple-vlc-player

An Android media player library powered by LibVLC.

Usage

Options can be provided for the initialization of LibVLC by using the VlcOptionsProvider singleton. This optional configuration should only be provided once during app initialization, or at some point before starting the MediaPlayerActivity. If no options are provided, then a default configuration is provided when initializing LibVLC. To make life easier, the VlcOptionsProvider.Builder class is available to help build a list of common options. If an option is not provided to the builder, then the default value for that option is used. For example, the following enables LibVLC verbose logging and sets the subtitle background opactiy:

VlcOptionsProvider
        .getInstance()
        .setOptions(
                new VlcOptionsProvider.Builder(this)
                        .withSubtitleBackgroundOpacity(255)
                        .setVerbose(true)
                        .build()
        );

The MediaPlayerActivity can be started by providing a required media URI and an optional subtitle URI. The subtitle URI must be a local file.

Intent intent = new Intent(this, MediaPlayerActivity.class);

intent.putExtra(MediaPlayerActivity.MediaUri, videoUri);
intent.putExtra(MediaPlayerActivity.SubtitleUri, subtitleUri);

startActivity(intent);

Configuration

Add this in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}

and add the following in the dependent module:

dependencies {
    implementation 'com.github.masterwok:simple-vlc-player:1.0.2'
}

unless you're a fan of large APKs, you'll probably want to add the following to the build.gradle of your app so an APK is generated per ABI:

android {
    ...
    splits {
        abi {
            enable true
            reset()
            include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            universalApk false
        }
    }
}

// Map for the version code that gives each ABI a value.
ext.abiCodes = [
        'armeabi-v7a': 1,
        'arm64-v8a'  : 2,
        'x86'        : 3,
        'x86_64'     : 4
]

import com.android.build.OutputFile

android.applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI))

        if (baseAbiVersionCode != null) {
            output.versionCodeOverride = baseAbiVersionCode * 10000000 + variant.versionCode
        }
    }
}

Licensing

Please refer to the VLC FAQ.

Screenshots

Local Playback Renderer Item Selection Casting

讨论区

说说你的看法