hamidrezaamz / magicalexoplayer Goto Github PK
View Code? Open in Web Editor NEWThe Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
License: MIT License
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
License: MIT License
I used this library in recyclerview. but not working recyclerview adapter.
My app is a social media app and I used this player in story view.
Please advise if there is any solution is available.
holder.binding.videoPlayer.setSource("video_url");
Is it possible use it on support library?
I want to play a single video in tow player instance in 1:1 aspect ratio from left side in one player and other half portion of frem in the second player, I tried 1:1 aspect ratio but it crop video from the center there is any option available for set aspect ration from the left or right side?
What are the proguard rules for this library?
brightness is very low of video
I want to use AndExoPlayerView but every time i get this error
I'm facing issues with playing youtube streaming links...
e.g:
https://r5---sn-hgn7yn7z.googlevideo.com/videoplayback?expire=1583002641&
......(BIG URL).....
lsig=ABSNjpQwRgIhAJST7tJOdC6blyeAnt6n6OwsNEI8gQ2in9M7ITRZQiEtAiEA2pZRtTuMfdC1vMQaLGGj-TfodvCS1VVG7Feas5fZKXI%3D
Hello.
How can I remove time stamps while playing videos? Player works well. I just looking for solution to remove timer on both sides of time line.
سلام و تشکر از کتابخونه خوبت
آیا امکان دارد تمامی کنترل ها را محو کنیم؟
آیا امکان دارد کنترل ویو سفارشی داشته باشیم؟
Hi
tnx for your library
i need a 16:9 width and height for show content under my video player
video break with 3 seconds time interval and show try again alert
@HamidrezaAmz Is there any way through which I can add a custom controller layout? Like I want to add buttons for fast forward and reverse playback.
aused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.widget.AppCompatImageButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
Caused by: android.view.InflateException: Binary XML file line #23: Binary XML file line #18: Error inflating class com.potyvideo.library.AndExoPlayerView
Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class com.potyvideo.library.AndExoPlayerView
Caused by: java.lang.reflect.InvocationTargetException
When the video is buffering and the video has not started yet, "try again" appears in the center of the video, block the UI and reset buffer. This is not wanted.
E/ExoPlayerImplInternal: Internal runtime error. java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueInputBuffer(Native Method) at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2726) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:977) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:654) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:575) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:326) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal: Disable failed. java.lang.IllegalStateException at android.media.MediaCodec.native_flush(Native Method) at android.media.MediaCodec.flush(MediaCodec.java:2194) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:702) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.flushOrReleaseCodec(MediaCodecVideoRenderer.java:604) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:580) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:451) at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:158) at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1088) at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:851) at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:813) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:399) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:67)
E/BufferQueueProducer: [SurfaceView - detachBuffer: BufferQueue has no connected producer E/ExoPlayerImplInternal: Reset failed. java.lang.IllegalStateException at android.media.MediaCodec.native_stop(Native Method) at android.media.MediaCodec.stop(MediaCodec.java:2147) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:609) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.releaseCodec(MediaCodecVideoRenderer.java:594) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onReset(MediaCodecRenderer.java:587) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onReset(MediaCodecVideoRenderer.java:460) at com.google.android.exoplayer2.BaseRenderer.reset(BaseRenderer.java:164) at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:860) at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:813) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:399) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:67)
trying to play video from local raw folder but this error.........
E/ExoPlayerImplInternal: Source error.
Hi, we can use a spécific User-Agent with MagicalExoPlayer ?
I tried this :
HashMap<String , String> extraHeaders = new HashMap<>();
extraHeaders.put("User-Agent","My User Agent");
andExoPlayerView.setSource("STREAM_URL", extraHeaders);
But i have still the original ExoPlayer User-Agent, how to do it ?
thanks
FullScreen mode rotate all views in screen! why?
I'm getting the following error, I have followed the instructions of usage given in the ReadMe file nothing much than that
Source error
com.google.android.exoplayer2.ParserException: org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position:TEXT @1:779 in java.io.InputStreamReader@bc13d05)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:96)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:61)
at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:172)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:391)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position:TEXT @1:779 in java.io.InputStreamReader@bc13d05)
at com.android.org.kxml2.io.KXmlParser.readEntity(KXmlParser.java:1262)
at com.android.org.kxml2.io.KXmlParser.readValue(KXmlParser.java:1465)
at com.android.org.kxml2.io.KXmlParser.next(KXmlParser.java:408)
at com.android.org.kxml2.io.KXmlParser.next(KXmlParser.java:321)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:89)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:61)
at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:172)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:391)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
E/ExoPlayerImplInternal: Source error
com.google.android.exoplayer2.ParserException: org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT �������ftypmp42��������...@6:87 in java.io.InputStreamReader@ed67357)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:96)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:61)
at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:172)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:391)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT �������ftypmp42��������...@6:87 in java.io.InputStreamReader@ed67357)
at org.kxml2.io.KXmlParser.next(KXmlParser.java:440)
at org.kxml2.io.KXmlParser.next(KXmlParser.java:321)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:89)
at com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.parse(DashManifestParser.java:61)
at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:172)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:391)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
2020-04-07 02:04:47.420 18114-18114/com.app.a E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app.a, PID: 18114
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.a/com.app.a.resourcehelper.VideoPlayer}: android.view.InflateException: Binary XML file line #11: Binary XML file line #11: Error inflating class com.potyvideo.library.AndExoPlayerView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2928)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3063)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:198)
at android.app.ActivityThread.main(ActivityThread.java:6729)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
Caused by: android.view.InflateException: Binary XML file line #11: Binary XML file line #11: Error inflating class com.potyvideo.library.AndExoPlayerView
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class com.potyvideo.library.AndExoPlayerView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.app.a.resourcehelper.VideoPlayer.onCreate(VideoPlayer.java:42)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3063)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:198)
at android.app.ActivityThread.main(ActivityThread.java:6729)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.google.android.exoplayer2.ui.SimpleExoPlayerView
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.google.android.exoplayer2.ui.SimpleExoPlayerView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
2020-04-07 02:04:47.426 18114-18114/com.app.a E/AndroidRuntime: at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.potyvideo.library.AndExoPlayerView.initializeView(AndExoPlayerView.java:192)
at com.potyvideo.library.AndExoPlayerView.(AndExoPlayerView.java:176)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.app.a.resourcehelper.VideoPlayer.onCreate(VideoPlayer.java:42)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3063)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:198)
at android.app.ActivityThread.main(ActivityThread.java:6729)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
Caused by: java.lang.BootstrapMethodError: Exception from call site #87 bootstrap method
at com.google.android.exoplayer2.ui.PlayerControlView.(PlayerControlView.java:339)
at com.google.android.exoplayer2.ui.PlayerView.(PlayerView.java:463)
at com.google.android.exoplayer2.ui.PlayerView.(PlayerView.java:313)
at com.google.android.exoplayer2.ui.SimpleExoPlayerView.(SimpleExoPlayerView.java:34)
... 39 more
Caused by: java.lang.ClassCastException: Bootstrap method returned null
... 43 more
سلام من توی اضافه کردن لایبرری به پروژه ام مشکل دارم ممنون میشم راهنماییم کنید ..
[email protected]
i want change RepeatMode but i dont know well..
i was try ComponentListener().onRepeatModeChanged(). but its not working
How to change try again error message to an custom message ?
How can I set the player to repeat the playback. i-e, play the video again and again after completion?
Hey!
Integrated it with my Kotlin app and the video view works perfectly!
Thanks a lot.
Was wondering if there is a workaround to show an image background while playing only a mp3 file
Required mute and unmute feature with MagicalExoPlayer
Not working in raw files videos and live url also.
https://sample-videos.com/video123/mp4/360/big_buck_bunny_360p_10mb.mp4
how to set time out when play streaming video
hi.this library support subtitle?
Hi, thanks for your awesome player, but i need to know when video is over or video loaded or something else. Can i get some callback from this player?
Please add an event OnErrorListener for users to easily interact in MainActivity ^^
How make or use srt/subtitles support?
Hello.
I have a issue with playing audio in some videos. I think player is missing some codecs. Most of the the videos play perfect but some with no sound only video. The same videos working in vlc on my laptop with sound but no sound in magical player. I think it is codecs issue.
i want to get exoplayer current state in activity. how can i achieve this ? please help
After implementing while building the application getting the following errors:
Default interface methods are only supported starting with Android N (--min-api 24): java.lang.CharSequence com.google.android.exoplayer2.ui.PlayerNotificationManager$MediaDescriptionAdapter.getCurrentSubText(com.google.android.exoplayer2.Player)
Default interface methods are only supported starting with Android N (--min-api 24): void com.google.android.exoplayer2.Player$EventListener.onIsPlayingChanged(boolean)
Invoke-customs are only supported starting with Android O (--min-api 26)
Can you update the header when playing hls video? like this:
Map <String, String> header = new HashMap <> ();
header.put ("cookie", "abcd1234");
andExoPlayerView.addHeader(header);
tks you very much <3
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.exoplayergithub/com.example.exoplayergithub.MainActivity}: android.view.InflateException
Getting this error on opening the app
Hello.
I was wondering, if there is any option to enable or integrate chromecast while watching videos?
Thanks
How can I implement ffmpeg in my application? I found this https://github.com/google/ExoPlayer/tree/release-v2/extensions/ffmpeg for support more audio and video codecs. Is there any chance to implement it?
Thanks
I wish to confirm because i tried to find if the options are available but i cant find any.
loop has an xml attribute but programmatically, how to do it?
Hello
i want to change timer word in English
is it possible??
I have a problem while clicked on full screen, its not working and show the fragment
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.