GithubHelp home page GithubHelp logo

yangchong211 / ycvideoplayer Goto Github PK

View Code? Open in Web Editor NEW
2.2K 2.2K 447.0 17.16 MB

基础封装视频播放器player,可以在ExoPlayer、MediaPlayer原生MediaPlayer可以自由切换内核;该播放器整体架构:播放器内核(自由切换) + 视频播放器 + 边播边缓存 + 高度定制播放器UI视图层。支持视频简单播放,列表播放,仿抖音滑动播放,自动切换播放,使用案例丰富,拓展性强。

License: Apache License 2.0

Java 100.00%

ycvideoplayer's Introduction

Anurag's github stats

ycvideoplayer's People

Contributors

yangchong211 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ycvideoplayer's Issues

不满意的链接错误

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.atcc.ycvideoplayer-2/base.apk"],nativeLibraryDirectories=[/data/app/com.atcc.ycvideoplayer-2/lib/arm64, /data/app/com.atcc.ycvideoplayer-2/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libijkffmpeg.so"

为什么在安卓5.0.0上不能播放?

为什么在安卓5.0.0上不能播放?加载圈一直在转
D/MediaPlayer: Couldn't open file on client side, trying server side
D/YCVideoPlayer: STATE_PREPARING
E/MediaPlayer: error (1, -2147483648)

enterVerticalScreenScreen比enterFullScreen流畅多了

感觉enterVerticalScreenScreen比enterFullScreen流畅多了,希望enterFullScreen优化一下,因为现在我用enterFullScreen会造成当前Activity闪退,原因找不出来,但是enterVerticalScreenScreen就不会。

分享按钮点击事件没有使用listener

else if (v == mShare) {
//分享
Toast.makeText(mContext, "分享", Toast.LENGTH_SHORT).show();
///////////////////////////////
mVideoControlListener.onVideoControlClick(ConstantKeys.VideoControl.SHARE);
///////////////////////////////
} else if(v == mFlLock){
//点击锁屏按钮,则进入锁屏模式
setLock(mIsLock);
} else if(v == mIvDownload){
if(mVideoControlListener==null){
VideoLogUtil.d("请在初始化的时候设置下载监听事件");
return;
}
//点击下载
mVideoControlListener.onVideoControlClick(ConstantKeys.VideoControl.DOWNLOAD);
}

大佬 wiki 看不了

wiki 看不了 不知道怎么去掉全屏播放时右上角的两个图标 (耳机和TV)

播放音频seekTo()方法似乎无效

player.seekTo((duration / 1000) * position, MediaPlayer.SEEK_CLOSEST_SYNC);
player.start();

在这之前有调pause()方法。但是seekTo()方法似乎没有正确返回,debug运行,正常走到了start()方法。会出现MediaPlayer:Error(-2147483648,0)这样的错误。

请求帮助,谢谢。

在demo里直接 gradle compile 'cn.yc:YCVideoPlayerLib:2.2' 点击播放视频提示没有so

Process: com.aptdemo, PID: 15939
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.aptdemo-Ap8OdRzETtAcU2HGQOjDUQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.aptdemo-Ap8OdRzETtAcU2HGQOjDUQ==/lib/arm64, /data/app/com.aptdemo-Ap8OdRzETtAcU2HGQOjDUQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /product/lib64]]] couldn't find "libijkffmpeg.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
at java.lang.System.loadLibrary(System.java:1660)
at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary(IjkMediaPlayer.java:178)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce(IjkMediaPlayer.java:189)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.initPlayer(IjkMediaPlayer.java:230)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:226)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:217)
at org.yczbj.ycvideoplayerlib.VideoPlayer.initMediaPlayer(VideoPlayer.java:518)
at org.yczbj.ycvideoplayerlib.VideoPlayer.start(VideoPlayer.java:227)
at org.yczbj.ycvideoplayerlib.VideoPlayerController.onClick(VideoPlayerController.java:566)
at android.view.View.performClick(View.java:6291)
at android.view.View$PerformClick.run(View.java:24931)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7425)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

TYPE_NATIVE模式缓冲有问题

TYPE_NATIVE模式有的手机(小米)刚开始缓冲没问题,后续视频播放完缓冲的就不再自动缓冲了,然后提示“视频播放出错”重新加载的黑屏界面了。

支持下

嗯,这是我看过最长的readme,我居然看完了,哈哈哈,建议有时间把readme分一下为问题,更新历史,api,这样可能更舒服点( ̄▽ ̄)/。

ijk的拖动后,seekbar跳动,可以通过 IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1 解决部门视频问题,不过可能加长seek的缓冲时间。

切换视频清晰度有问题,是重新开始播放的问题,可以是你重新构建一个视频播放器,然后再播放器成功prepared,seek之后,在管理器中替换原本的player,把surface设置过去,这样有可以实现类似的无缝切换,其中的状态参数一并在构建时克隆过去,我基本是这么处理的。

期待你的后续更新。

夜间模式点全屏时闪退

我用AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); 实现的夜间模式,点全屏视频就闪退了,但是app没退出,日间模式是正常的,很奇怪啊,不知道什么影响的?

有两个问题最好优化一下

1、从全屏切换回普通模式,左上角返回不消失;
2、点击进入全屏后,右下角返回普通模式的按钮会消失,最好显示;

用IJK模式看m3u8直播的时候闪退

用ConstantKeys.IjkPlayerType.TYPE_IJK模式的时候,看直播闪退,看log是缺少so文件,希望改善。

java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.rongmeiti.news-6Q2qi3QiVJwo9CZbkITyOg==/lib/arm/libijksdl.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
at java.lang.System.loadLibrary(System.java:1672)
at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.a(IjkMediaPlayer.java:179)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.a(IjkMediaPlayer.java:191)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.b(IjkMediaPlayer.java:231)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:227)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:218)
at org.yczbj.ycvideoplayerlib.player.VideoPlayer.z(VideoPlayer.java:590)
at org.yczbj.ycvideoplayerlib.player.VideoPlayer.y(VideoPlayer.java:580)
at org.yczbj.ycvideoplayerlib.player.VideoPlayer.a(VideoPlayer.java:234)

视频点击播放 出现播放错误,请重试。

我的播放不了视频,点击播放出现 播放出错,请重试。
contentView.videoPlayer.setPlayerType(ConstantKeys.IjkPlayerType.TYPE_IJK);
contentView.videoPlayer.setUp(url, null)
controller = VideoPlayerController(this)
controller!!.setTitle(“”)
controller!!.setLoadingType(ConstantKeys.Loading.LOADING_QQ)
controller!!.imageView().setBackgroundResource(R.color.colorBlack)
controller!!.setOnVideoBackListener { onBackPressed() }
contentView.videoPlayer.setController(controller)
contentView.videoPlayer.continueFromLastPosition(true)
contentView.videoPlayer.setSpeed(1.0f);

JieCao 和Jiaozi

JieCao 是作者最开始开发的,后面更新为Jiaozi 视频

全屏加锁按钮有Bug

视频全屏播放时,点了加锁后,再点击一下视频界面,就退出了,试了一下,你的Demo也有这个问题

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.