Git Product home page Git Product logo

wlmedia's Introduction

wlmedia

android 音视频播放SDK,几句代码即可实现音视频播放功能~

1、Usage

Gradle: Download

implementation 'ywl.ywl5320:wlmedia:1.0.0-beta3'

2、实例图片

播放视频

播放音乐

竖屏播放(自动保持宽高比)

横屏播放(自动保持宽高比)

3、调用方式

配置NDK编译平台:

defaultConfig {
	...
	ndk {
	    abiFilter("armeabi-v7a")
	    abiFilter("x86")
	}
	...
}

基本权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

接入代码

// surfaceview 一般播放使用
<com.ywl5320.wlmedia.widget.WlSurfaceView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

// textureview 需要做透明、移动、旋转等使用
<com.ywl5320.wlmedia.widget.WlTextureView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

WlMedia wlMedia = new WlMedia();// 可支持多实例播放(主要对于音频,视频实际验证效果不佳)
wlMedia.setPlayModel(WlPlayModel.PLAYMODEL_AUDIO_VIDEO);//声音视频都播放
wlMedia.setCodecType(WlCodecType.CODEC_MEDIACODEC);//优先使用硬解码
wlMedia.setMute(WlMute.MUTE_CENTER);//立体声
wlMedia.setVolume(80);//80%音量
wlMedia.setPlayPitch(1.0f);//正常速度
wlMedia.setPlaySpeed(1.0f);//正常音调
wlMedia.setTimeOut(30);//网络流超时时间
wlMedia.setShowPcmData(true);//回调返回音频pcm数据
wlSurfaceView.setWlMedia(wlMedia);//给视频surface设置播放器

//异步准备完成后开始播放
wlMedia.setOnPreparedListener(new WlOnPreparedListener() {
        @Override
        public void onPrepared() {
            wlMedia.start();//开始播放
            double duration = wlMedia.getDuration();//获取时长
        }
    });

//设置url源
wlMedia.setSource("/storage/sdcard1/精灵宝可梦:就决定是你了.720p.国日粤三语.BD中字[最新电影www.66ys.tv].mp4");
wlMedia.prepared();//异步准备

4、其他API 可看类:WlMedia.java

create By:ywl5320 2019-01-01

wlmedia's People

Contributors

wanliyang1990 avatar

Watchers

James Cloos avatar chow avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.