Giter Club home page Giter Club logo

maiwenchang / artplayer Goto Github PK

View Code? Open in Web Editor NEW
587.0 587.0 101.0 182.19 MB

Kotlin实现的视频播放器,将MediaPlayer与VideoView解耦合,支持切换播放器内核(如ExoPlayer和ijkPlayer),支持自定义控制视图,提供MediaPlayerManager实现全屏模式,小屏幕模式等。

Home Page: https://maiwenchang.github.io/ArtPlayer/

License: Apache License 2.0

Kotlin 100.00%
android kotlin media-player video-player videoview

artplayer's People

Contributors

ironman6121 avatar maiwenchang avatar yvchen666 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

artplayer's Issues

artplayer 如何始用缓存

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

是不是没有支持封面图的相关接口啊

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

有打算加入倍速播放吗

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

没法播放sd视频,视频长一点,就卡着不动了

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

音频无法播放

assets/***.mp3 无法播放
代码调用逻辑:

    if (MediaPlayerManager.instance().getMediaPlayer() instanceof ExoPlayer) {
        // ExoPlayer
        mVideoView.setDataSourceObject("file:///android_asset/" + fileName);
    } else {
        //android.media.MediaPlayer & IjkPlayer
        AssetManager am = getAssets();
        try {
            AssetFileDescriptor afd2 = am.openFd(fileName);
            mVideoView.setDataSourceObject(afd2);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    mVideoView.start();

输出LOG:

6/com.kaqi.pocketeggs V/Nancys: file name : music.mp3
2019-08-29 12:06:11.636 22866-22866/com.kaqi.pocketeggs D/VideoView: start [55312979]
2019-08-29 12:06:11.636 22866-22866/com.kaqi.pocketeggs D/VideoView: play [55312979]
2019-08-29 12:06:11.636 22866-22866/com.kaqi.pocketeggs I/MediaPlayerManager: updateState [IDLE]
2019-08-29 12:06:11.637 1731-3711/? I/MediaFocusControl: AudioFocus abandonAudioFocus() from uid/pid 10715/22866 clientId=android.media.AudioManager@f447790
2019-08-29 12:06:11.637 1731-1757/? I/MediaFocusControl: AudioFocus requestAudioFocus() from uid/pid 10715/22866 clientId=android.media.AudioManager@f447790 req=1 flags=0x0
2019-08-29 12:06:11.648 22866-22866/com.kaqi.pocketeggs D/MediaPlayerManager: addTextureView [105938892]

请问如何解决,谢谢

播放会有卡顿现象,使用exo内核

videocover
videocover应该是没有绑定到视图吧,况且一般imageview都用glide绑定,所以默认controlpanel可以吧imageview设为开放,这样比较容易绑定了

卡顿现象常有,exo原生并不卡顿
粗略的看了下内部,貌似是没有接口来调整缓存等等的

<org.salient.artplayer.ui.VideoView. <org.salient.artplayer.VideoView

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

DASH support?

Does this library support DASH? separate video and audio streams.

m3u8链接播放

测试了一下,只有ExoPlayer支持m3u8,但是兼容性有问题,播放过程中,在每个分片切换的时候,视频仍然继续播放,但是时间轴停止,控制界面卡死,需要重新点击暂停和播放才能继续

显示缓冲进度条问题

你好,可不可加上播放过程中由于网速原因出现界面停止时显示缓冲进度条来提示用户的功能?

不支持rtsp流

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

使用Https网络播放必须要加载完才能开始播放吗?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

How i access the exoplayer?

I want to access the exo-player use in art-exo class for PlayerNotificationManager on exoplayer for background play .How i access or set PlayerNotificationManager on exoplayer i also try to add a getter method in exoplayer class.

add surfaceView render, add VLC player

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

请求头如何设置

视频地址 有权限设置,需要设置请求头才能访问,怎么设置请求头呢?

DASH support?

Does this library support DASH? separate video and audio streams.

如何延长播放时间

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Logo design contribution

Hi
I want to make a logo for this projects if you have any requirements then let me know.its totally free for open source projects.

Stream / Buffer VideoView for smooth seekBar experience..

i am looking for how to stream / buffer video in videoView so that the video when skipped using onStopTrackingTouch it doesnt stop.

My onStopTrackingTouch method is as below

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
    Log.i(TAG, "bottomProgress onStopTrackingTouch [" + this.hashCode() + "] ");
    MediaPlayerManager.instance().startProgressTimer();
    ViewParent vpup = getParent();
    while (vpup != null) {
        vpup.requestDisallowInterceptTouchEvent(false);
        vpup = vpup.getParent();
    }
    if (MediaPlayerManager.instance().getPlayerState() != MediaPlayerManager.PlayerState.PLAYING &&
            MediaPlayerManager.instance().getPlayerState() != MediaPlayerManager.PlayerState.PAUSED)
        return;
    long time = (long) (seekBar.getProgress() * 1.00 / 100 * MediaPlayerManager.instance().getDuration());
    MediaPlayerManager.instance().seekTo(time);
    Log.i(TAG, "seekTo " + time + " [" + this.hashCode() + "] ");
}

旋转屏幕后进入全屏,点击左上角返回按钮或者手机自带返回键,videoview黑屏

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

希望支持 RTSP 协议的播放

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

不能循环播放吗

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

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.