dailymotion / dailymotion-player-sdk-android Goto Github PK
View Code? Open in Web Editor NEWThe SDK to play dailymotion videos in your Android apps
Home Page: https://dailymotion.com
License: MIT License
The SDK to play dailymotion videos in your Android apps
Home Page: https://dailymotion.com
License: MIT License
Could you please add Google Cast support to the player?
Hi,
With the latest version, using the PlayerWebView, fullscreen mode is not working anymore. If I click on the button, nothing happens.
Any idea why ?
Thanks in advance,
Julien
I have tried to find the view ID OR methods OR param of these controls but nothing is available on Sample project of Dailymotion link "https://github.com/dailymotion/dailymotion-player-sdk-android/tree/master/sampleapp"
Can you please provide -
Attaching image , where i need focus through remote - Link for image
I used this code, only audio is playing but no video. Only showing black screen in web view with controls.
I added an event listener for EVENT_FULLSCREEN_TOGGLE_REQUESTED then I change fullscreen state by calling "setFullscreenButton(true/false)".
But I get blackscreen after the call of "setFullscreenButton" method when player showing ads of Hyundai(no this issue when playing Dyson ads).
My version: 0.1.23 (because I need to support Android 17+ devices)
I inspected with Chrome and I got this error message:
bootstrapper definition: took 49 ms dmp.main.ec4918c7f0f5ac59ed54.js:1 Timestamp dmp create call: took 3 ms blob:https://www.dailymotion.com/1f5f3e7c-4446-44e9-9d54-12850aad0737:1 [log] > manifest codec:mp4a.40.2,ADTS data:type:2,sampleingIndex:4[44100Hz],channelConfig:2 blob:https://www.dailymotion.com/1f5f3e7c-4446-44e9-9d54-12850aad0737:1 [log] > parsed codec:mp4a.40.2,rate:44100,nb channel:2 blob:https://www.dailymotion.com/1f5f3e7c-4446-44e9-9d54-12850aad0737:1 [log] > manifest codec:mp4a.40.2,ADTS data:type:2,sampleingIndex:4[44100Hz],channelConfig:2 blob:https://www.dailymotion.com/1f5f3e7c-4446-44e9-9d54-12850aad0737:1 [log] > parsed codec:mp4a.40.2,rate:44100,nb channel:2 blob:https://www.dailymotion.com/1f5f3e7c-4446-44e9-9d54-12850aad0737:1 [log] > audio sampling rate : 44100 blob:https://www.dailymotion.com/1f5f3e7c-4446-44e9-9d54-12850aad0737:1 [log] > audio sampling rate : 44100 htmlvideo.js:25 videoFullscreenListener not yet finished (anonymous) @ htmlvideo.js:25 sca.17.4.95.js:32 a: 0.004150390625ms dt:1 Failed to load resource: the server responded with a status of 400 (Bad Request) dt:1 Failed to load resource: the server responded with a status of 400 (Bad Request) dt:1 GET https://dt.adsafeprotected.com/dt?anId=923995&asId=6b19aa86-da49-8083-586c-c073a916db20&tv={c:9AlUid,pingTime:15,time:15706,type:p,clog:[{piv:100,vs:o,r:v,w:360,h:180,t:69},{vs:i,r:,t:637}],ve:{vEventCount:456,vEvents:[{t:-308,tp:perfCheckpoint,sl:o,type:vans,code:10,timestamp:1555079548851},{t:-307,tp:perfCheckpoint,sl:o,type:vans,code:20,timestamp:1555079548852},{t:-304,tp:adLoaded,sl:o,ad_duration:-2,ad_offset_l ...... (very long URL) **414 (Request-URI Too Large)** ...... main.js:1 POST https://s.update.dailymotion.com/2/4.43.0/661389/YCsH7rY16eRENJ5f1_edVB1sTaBGyeJu/postback?c3=true&di=&c7=&ui=07D58899F9F33F1FF5F748DBACD86CCF&ai=Europe1fr&c2=fr&dm=&c1=DMdirect&dt=6613891526950345285012&cb=1d88vdi8m0av9svrqh8&bt=programmatic&md=video&cr=x75ov2c&c8=&ci=661389&oz_tc=YCsH7rY16eRENJ5f1_edVB1sTaBGyeJu&oz_sc=a8af18f25399152a458fef07&oz_st=1555079547716&oz_v=4.43.0&oz_df=18060&oz_l=393&cv=3 net::ERR_CONNECTION_TIMED_OUT p.qKjcs @ main.js:1 p.qKjqc @ main.js:1 i.doPostbacks @ main.js:1 (anonymous) @ main.js:1 t @ main.js:1 r @ main.js:1 main.js:1 POST https://s.update.dailymotion.com/2/4.43.0/661389/YCsH7rY16eRENJ5f1_edVB1sTaBGyeJu/postback?c3=true&di=&c7=&ui=07D58899F9F33F1FF5F748DBACD86CCF&ai=Europe1fr&c2=fr&dm=&c1=DMdirect&dt=6613891526950345285012&cb=1d88vdi8m0av9svrqh8&bt=programmatic&md=video&cr=x75ov2c&c8=&ci=661389&oz_tc=YCsH7rY16eRENJ5f1_edVB1sTaBGyeJu&oz_sc=a8af18f25399152a458fef07&oz_st=1555079547716&oz_v=4.43.0&oz_df=18063&oz_l=408&cv=3 net::ERR_CONNECTION_TIMED_OUT
Is it possible to customize the color of the bottom progress bar in the player screen. For instance, we would like to set it as yellow that matches our App UI style better (for now the sdk provides light blue).
the app is crashing when
override fun onDestroy() { layoutBinding.playerWebView.release() super.onDestroy() }
I'm using the player inside fragment and it throws null pointer exception when I release the player.
i'm using sdk sampleApp Activity.
when i play video,
i can see AD mark on video control bar. but i can see only black screen on video view, and video time is running. after AD is over, i can see video what i insert videoID. please check this issue.
my test device is android galaxy s2 and nexus 6.
thanks
When I load a new video use one single playerView , It's not send play,playing,timeupdate events,but send other events like start ,progrss . And I press this the playerView,it can be paused, but not send pause event. And I press this playerView again , the sdk will send play event, and all events can be send normally.
Hi. it's seems autoPlay is not working with your project.
I want to set start position for continue watching
below solution not working.
playerWebView = findViewById(R.id.playerWebview)
val params = mapOf(
"video" to "videoXId",
"start" to "POSITION_IN_SECOND"
)
playerWebView.load(loadParams = params);
Is there any other way for this scenario ?
On Android, YouTube
component which is in ScrollView
stops playback.
On Android, if YouTube
component puts in ReactNative ScrollView
component, playback is terminated. adb logcat
says:
10-14 11:23:25.977 23083 23083 W YouTubeAndroidPlayerAPI: YouTube video playback stopped due to unauthorized overlay on top of player. The YouTubePlayerView is not contained inside its ancestor android.widget.FrameLayout{fcacd54 V.E...... ......I. 0,0-0,0}. The distances between the ancestor's edges and that of the YouTubePlayerView is: left: 0, top: 0, right: -1794, bottom: -1080 (these should all be positive).
You can reproduce it by Example/index.android.js
with
modification such as:
<ScrollView
style={{width: 520, height: 500}}
<YouTube
(suppress...)
/>
</ScrollView>
You can replace style
of ScrollView
to any, but you have to assign some scrollable area.
This code works well on any iOS devices.
ReactNative: v0.35.0
react-native-youtube: v0.8.0
Device: Nexus 5X / Android 7.0(NBD90W)
Hello, we are facing this issue: When we click on a play button from an android tv device with 9.0 versión, the screen is freezed
Device: Xiaomi mi box with Android 9
How to reproduce it: Just play a video
Log:
Cannot start the media codec
android.media.MediaCodec$CodecException: start failed
at android.media.MediaCodec.native_start(Native Method)
at android.media.MediaCodec.start(MediaCodec.java:2068)
at org.chromium.media.MediaCodecBridge.c(PG:8)
at org.chromium.media.MediaCodecBridgeBuilder.createVideoDecoder(PG:68)
Please, this bug is critical, could you solve it?
Is there a way where I can get to know when the video is done playing. I saw in the code that you have implemented setOnCompletionListener, but that never gets called.
Any pointer on this will be helpful!
Hello,
i build an wordpress application with ionic. youtube videos are played but dailymotion embedded videos can't be played on app. How can we make it work?
Thank you.
while playing video, I can only hear the sound. no visual in player. pls, guide. Though this is happening when I merged the Dailymotion project to my existing app which does not have any such player. In isolation, this project is working fine. Can u advise on no video issue?
which settings of my app are stopping video to display . I just checked it is working fine with youtubeplayer.
switching between light/dark seems to make no difference, is this a feature implemented in android?
cheers
Martin
I am using my own custom controller and I want to hide dailmotion media controller. Is there a way to hide dailymotion media controller bar?
I want to run one phone camera as live streaming source.
and second phone will see this live streaming as it destination.
Can you sdk accomplish this task?
Please tell me asap. I am waiting for your response. Its solution much needed.
I saw in a recent commit:
buildSrc/src/main/java/Version.kt
@@ -1,5 +1,5 @@
object Version {
val targetSdkVersion = 28
val minSdkVersion = 21
val compileSdkVersion = 28
}
Could you tell me why and will you stop support for android api 17-20 devices?
In the test, we found that abnormal event returns, the video is always in the loading state.
2020-12-22 11:45:39.195 31061-31061/, D/PlayerWebView: [148822651] event event=volumechange&volume=1&muted=false
2020-12-22 11:45:39.196 31061-31061/, D/PlayerWebView: [148822651] event event=apiready
2020-12-22 11:45:39.198 31061-31061/, D/PlayerWebView: [148822651] loadUrl javascript:player.api('controls','false')
2020-12-22 11:45:39.201 31061-31061/, D/PlayerWebView: [148822651] loadUrl javascript:player.load(JSON.parse('{"video":"x7y7e5r","queue-enable":"true"}'))
2020-12-22 11:45:39.353 31061-31061/, D/PlayerWebView: [148822651] event event=controlschange&controls=false
2020-12-22 11:45:39.353 31061-31061/, D/PlayerWebView: [148822651] event event=gesture_end
2020-12-22 11:45:40.078 31061-31061/, D/PlayerWebView: [148822651] event event=videochange&videoId=x7y7e5r&title=Le Discours (2020) - Bande annonce
2020-12-22 11:45:40.245 31061-31061/, D/PlayerWebView: [148822651] event event=start
2020-12-22 11:45:41.580 31061-31061/, E/PlayerWebView: bad param:event=debug&info[type]=stream_origin&info[payload][url]=https://www.dailymotion.com/cdn/manifest/video/x7y7e5r.m3u8?sec=H2zmSF96MBkX0v_qOy2kw0a1Wb-JCfvDJUAftnLXqnBZ3rToczCNm5hEMfEF17Ayhu7fNXF82y4B9sy0YiXuPQ&info[payload][cell]=sg1
2020-12-22 11:45:41.580 31061-31061/, D/PlayerWebView: [148822651] event event=debug&info[type]=stream_origin&info[payload][url]=https://www.dailymotion.com/cdn/manifest/video/x7y7e5r.m3u8?sec=H2zmSF96MBkX0v_qOy2kw0a1Wb-JCfvDJUAftnLXqnBZ3rToczCNm5hEMfEF17Ayhu7fNXF82y4B9sy0YiXuPQ&info[payload][cell]=sg1
2020-12-22 11:45:41.581 31061-31061/, D/PlayerWebView: [148822651] event event=qualitiesavailable&qualities[]=720&qualities[]=480&qualities[]=380&qualities[]=240&qualities[]=144
2020-12-22 11:45:41.796 31061-31061/, D/PlayerWebView: [148822651] event event=playback_ready
2020-12-22 11:45:41.796 31061-31061/, D/PlayerWebView: [148822651] loadUrl javascript:player.play()
2020-12-22 11:45:41.831 31061-31061/, D/PlayerWebView: [148822651] event event=video_start&replay=0
2020-12-22 11:45:41.848 31061-31061/, D/PlayerWebView: [148822651] event event=started&replay=0
2020-12-22 11:45:41.849 31061-31061/, D/PlayerWebView: [148822651] event event=play
2020-12-22 11:45:41.849 31061-31061/, D/PlayerWebView: [148822651] event event=waiting
2020-12-22 11:45:42.813 31061-31061/, D/PlayerWebView: [148822651] event event=waiting
2020-12-22 11:45:43.213 31061-31061/, D/PlayerWebView: [148822651] event event=durationchange&duration=114.96
2020-12-22 11:45:43.213 31061-31061/, D/PlayerWebView: [148822651] event event=video_durationchange&duration=114.96
2020-12-22 11:45:43.213 31061-31061/, D/PlayerWebView: [148822651] event event=loadedmetadata
2020-12-22 11:45:43.389 31061-31061/, D/PlayerWebView: [148822651] event event=qualitychange&quality=144
2020-12-22 11:45:43.487 31061-31061/, D/PlayerWebView: [148822651] event event=playing
2020-12-22 11:45:43.579 31061-31061/, D/PlayerWebView: [148822651] event event=progress&time=9.07755
2020-12-22 11:45:48.115 31061-31061/, D/PlayerWebView: [148822651] event event=progress&time=18.040452
2020-12-22 11:47:17.064 32141-32141/, D/PlayerWebView: [255267704] event event=volumechange&volume=1&muted=false
2020-12-22 11:47:17.065 32141-32141/, D/PlayerWebView: [255267704] event event=apiready
2020-12-22 11:47:17.068 32141-32141/, D/PlayerWebView: [255267704] loadUrl javascript:player.api('controls','false')
2020-12-22 11:47:17.081 32141-32141/, D/PlayerWebView: [255267704] loadUrl javascript:player.load(JSON.parse('{"video":"x7y7e5r","queue-enable":"true"}'))
2020-12-22 11:47:17.224 32141-32141/, D/PlayerWebView: [255267704] event event=controlschange&controls=false
2020-12-22 11:47:17.224 32141-32141/, D/PlayerWebView: [255267704] event event=gesture_end
2020-12-22 11:47:18.004 32141-32141/, D/PlayerWebView: [255267704] event event=videochange&videoId=x7y7e5r&title=Le Discours (2020) - Bande annonce
2020-12-22 11:47:18.170 32141-32141/, D/PlayerWebView: [255267704] event event=start
2020-12-22 11:47:19.182 32141-32141/, D/PlayerWebView: [255267704] event event=playback_ready
2020-12-22 11:47:19.185 32141-32141/, D/PlayerWebView: [255267704] loadUrl javascript:player.play()
2020-12-22 11:47:19.497 32141-32141/, D/PlayerWebView: [255267704] event event=video_end ******
2020-12-22 11:47:19.514 32141-32141/, D/PlayerWebView: [255267704] event event=ended ******
2020-12-22 11:47:19.847 32141-32141/, E/PlayerWebView: bad param:event=debug&info[type]=stream_origin&info[payload][url]=https://www.dailymotion.com/cdn/manifest/video/x7y7e5r.m3u8?sec=H2zmSF96MBkX0v_qOy2kw-VjqcQdV10PxMcYW4l1_ctFOj2xeD3eqzBxj4ZsdpRIVWOyIqv49kpPAI5tODmMAw&info[payload][cell]=sg1
2020-12-22 11:47:19.847 32141-32141/, D/PlayerWebView: [255267704] event event=debug&info[type]=stream_origin&info[payload][url]=https://www.dailymotion.com/cdn/manifest/video/x7y7e5r.m3u8?sec=H2zmSF96MBkX0v_qOy2kw-VjqcQdV10PxMcYW4l1_ctFOj2xeD3eqzBxj4ZsdpRIVWOyIqv49kpPAI5tODmMAw&info[payload][cell]=sg1
2020-12-22 11:47:19.848 32141-32141/, D/PlayerWebView: [255267704] event event=qualitiesavailable&qualities[]=720&qualities[]=480&qualities[]=380&qualities[]=240&qualities[]=144
2020-12-22 11:47:21.727 32141-32141/, D/PlayerWebView: [255267704] event event=qualitychange&quality=144
2020-12-22 11:47:21.971 32141-32141/, D/PlayerWebView: [255267704] event event=end ******
2020-12-22 11:47:27.737 32141-32141/, D/PlayerWebView: [255267704] event event=qualitychange&quality=380
2020-12-22 11:47:30.843 32141-32141/, D/PlayerWebView: [255267704] event event=qualitychange&quality=240
2020-12-22 11:47:33.737 32141-32141/, D/PlayerWebView: [255267704] event event=qualitychange&quality=380
2020-12-22 11:50:37.929 32141-32141/, D/PlayerWebView: [255267704] event event=video_start&replay=0
2020-12-22 11:50:37.929 32141-32141/, D/PlayerWebView: [255267704] event event=started&replay=0
2020-12-22 11:50:37.929 32141-32141/, D/PlayerWebView: [255267704] event event=play
2020-12-22 11:50:37.952 32141-32141/, D/PlayerWebView: [255267704] loadUrl javascript:player.load(JSON.parse('{"video":"x7y7b7y","queue-enable":"true"}'))
2020-12-22 11:50:40.745 32141-32141/, D/PlayerWebView: [255267704] event event=videochange&videoId=x7y7b7y&title=Miss France 2021 : «Je ne renierai jamais mes origines»
2020-12-22 11:50:40.781 32141-32141/, D/PlayerWebView: [255267704] event event=start
2020-12-22 11:50:41.278 32141-32141/, D/PlayerWebView: [255267704] event event=playback_ready
2020-12-22 11:50:41.278 32141-32141/, D/PlayerWebView: [255267704] loadUrl javascript:player.play()
2020-12-22 11:50:41.297 32141-32141/, D/PlayerWebView: [255267704] event event=waiting
2020-12-22 11:50:41.820 32141-32141/, E/PlayerWebView: bad param:event=debug&info[type]=stream_origin&info[payload][url]=https://www.dailymotion.com/cdn/manifest/video/x7y7b7y.m3u8?sec=Mn2pu7xe9sdPAWU4IMnSrZ0k6ED138B0amdcFZGt4LCJ6zw5kWCfPSBnGcuJ3SbuY1kaeG7Qf44pgOd-j3cNFA&info[payload][cell]=sg1
2020-12-22 11:50:41.820 32141-32141/, D/PlayerWebView: [255267704] event event=debug&info[type]=stream_origin&info[payload][url]=https://www.dailymotion.com/cdn/manifest/video/x7y7b7y.m3u8?sec=Mn2pu7xe9sdPAWU4IMnSrZ0k6ED138B0amdcFZGt4LCJ6zw5kWCfPSBnGcuJ3SbuY1kaeG7Qf44pgOd-j3cNFA&info[payload][cell]=sg1
2020-12-22 11:50:41.822 32141-32141/, D/PlayerWebView: [255267704] event event=qualitiesavailable&qualities[]=1080&qualities[]=720&qualities[]=480&qualities[]=380&qualities[]=240&qualities[]=144
2020-12-22 11:50:45.532 32141-32141/, D/PlayerWebView: [255267704] event event=durationchange&duration=288.48
2020-12-22 11:50:45.534 32141-32141/, D/PlayerWebView: [255267704] event event=video_durationchange&duration=288.48
2020-12-22 11:50:45.535 32141-32141/, D/PlayerWebView: [255267704] event event=loadedmetadata
2020-12-22 11:50:45.550 32141-32141/, D/PlayerWebView: [255267704] event event=qualitychange&quality=380
2020-12-22 11:50:47.782 32141-32141/, D/PlayerWebView: [255267704] event event=progress&time=5.990747
2020-12-22 11:50:49.873 32141-32141/, D/PlayerWebView: [255267704] event event=progress&time=9.009296
2020-12-22 11:50:51.971 32141-32141/, D/PlayerWebView: [255267704] event event=progress&time=11.98145
2020-12-22 11:50:54.424 32141-32141/, D/PlayerWebView: [255267704] event event=progress&time=15.000044
2020-12-22 11:50:56.872 32141-32141/, D/PlayerWebView: [255267704] event event=progress&time=17.972198
I want to know how I can put in automaticly to full screen
Hi, I have a an app which uses the DailyMotion SDK to play DM Videos. It had been working fine until a couple of days ago. When all of a sudden no video would play, whether it is a Playlist or just one.
At first I thought perhaps DM API/SDK had changed but I looked at the code here at github, compared it with mine and there is no difference so I humored myself and downloaded the Sample App and tried it to no avail. I did however learn that the issue is on Android 4.2.2 but not on Android 6.0.1.
EDIT : One detail I missed, checking the logs revealed there was an error while calling some javascript library method.
TypeError: Object [object Performance] has no method 'now'
Line : 1
sourrce ID : http://static1.dmcdn.net/playerv5/dmp.d540e723816f662ceee2.js
Unhandled promise rejection
Line : 71
Source ID : http://static1.dmcdn.net/playerv5/dmp.d540e723816f662ceee2.js
Calling play
method right after apiready
is not recommended. Are you sure you don't want to use the autoplay
parameter instead?
See: https://developer.dailymotion.com/player#player-parameters
Line : 1
Source ID : http://static1.dmcdn.net/playerv5/a5376093bd99169e700e.dmp.js
If the user exits the app as soon as an activity is created, but before video view fully initializes/loads it is called in the background and plays the video/audio even when the app isn't in the foreground. (Even when calling the dm_player_view.onPause() method in the activity's onPause() method.)
when i launch the app i get this error 'com.google.android.gms.ads.identifier.advertisingidclient not found'
i made a search and i found that google has moved all its libraries to gms plugin i think your library needs an update.
thnx
In the readme, in "How to use", there is a line to add in the manifest :
Is there a simple way to load an error and retry button when the video view tries to load on a device which isn't connected to the internet? Currently I'm seeing it load an upside down android head in the top left corner, but no error message with option to retry.
audio work but still a black screen
Timber dependency required to be added to the application now. It's not included in library but is used inside it.
Either include it in the library or remove the usage.
Hello,
I'm experiencing a crash when the player appear on Android with the version 0.2.12 and since 0.2.11.
I've this error in my logs :
java.lang.NullPointerException: Attempt to invoke virtual method 'android.widget.ScrollBarDrawable android.widget.ScrollBarDrawable.mutate()' on a null object reference at android.view.View.onDrawScrollBars(View.java:20213) at android.view.View.onDrawForeground(View.java:24760) at android.view.View.draw(View.java:22827) at android.view.View.updateDisplayListIfDirty(View.java:21668) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.draw(View.java:22817) at android.view.View.updateDisplayListIfDirty(View.java:21668) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at androidx.recyclerview.widget.RecyclerView.drawChild(RecyclerView.java:5030) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.draw(View.java:22817) at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4429) at android.view.View.updateDisplayListIfDirty(View.java:21668) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4588) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4561) at android.view.View.updateDisplayListIfDirty(View.java:21625) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4588) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4561) at android.view.View.updateDisplayListIfDirty(View.java:21625) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4588) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4561) at android.view.View.updateDisplayListIfDirty(View.java:21625) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) 2023-03-24 14:29:43.297 21241-21241 AndroidRuntime at android.view.View.updateDisplayListIfDirty(View.java:21659) at android.view.View.draw(View.java:22534) at android.view.ViewGroup.drawChild(ViewGroup.java:4608) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4361) at com.android.internal.policy.DecorView.dispatchDraw(DecorView.java:3017) at android.view.View.draw(View.java:22817) at com.android.internal.policy.DecorView.draw(DecorView.java:899) at android.view.View.updateDisplayListIfDirty(View.java:21668) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:534) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:540) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:620) at android.view.ViewRootImpl.draw(ViewRootImpl.java:4743) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4447) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3529) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2305) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9133) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1232) at android.view.Choreographer.doCallbacks(Choreographer.java:1029) at android.view.Choreographer.doFrame(Choreographer.java:934) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1217) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:233) at android.os.Looper.loop(Looper.java:344) at android.app.ActivityThread.main(ActivityThread.java:8212) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
Can you help me with this issue please ?
Thanks
Hello,
I'm just working with ur library and gets this error using android 10 and not reproduced in android 8
DailymotionFragment$onViewCreated: WebView [166493760] received an error with code: -1, description: net::ERR_NO_SUPPORTED_PROXIES from URL: https://www.dailymotion.com/embed/video/[videoID]
Can u help me ?
I have entered the api key and api secret.
When I created the api key, I filled the application website and callback url randomly, does it matters?
Please help me!
problem was shown at the bottom of Android Studio:
11-23 17:13:35.446 2035-2068/com.dailymotion.sampleapp I/qtaguid: Tagging socket 84 with tag 81c1164e00000000{2176915022,0} for uid 4294967295, pid: 2035, getuid(): 10325
11-23 17:13:35.446 2035-2068/com.dailymotion.sampleapp I/qtaguid: Untagging socket 84
11-23 17:13:35.456 2035-2068/com.dailymotion.sampleapp I/qtaguid: Tagging socket 84 with tag 81c1164e00000000{2176915022,0} for uid 4294967295, pid: 2035, getuid(): 10325
11-23 17:13:35.456 2035-2068/com.dailymotion.sampleapp I/qtaguid: Untagging socket 84
11-23 17:13:35.456 2035-2068/com.dailymotion.sampleapp I/qtaguid: Tagging socket 84 with tag 81c1164e00000000{2176915022,0} for uid 4294967295, pid: 2035, getuid(): 10325
11-23 17:13:35.456 2035-2068/com.dailymotion.sampleapp I/qtaguid: Untagging socket 84
11-23 17:13:35.596 2035-2068/com.dailymotion.sampleapp I/qtaguid: Untagging socket 63
11-23 17:13:35.606 2035-2068/com.dailymotion.sampleapp E/Volley: [24833] BasicNetwork.performRequest: Unexpected response code 401 for https://api.dailymotion.com/oauth/token
11-23 17:13:35.606 2035-2035/com.dailymotion.sampleapp D/DMLog: Request: error: https://api.dailymotion.com/oauth/token
11-23 17:13:35.606 2035-2035/com.dailymotion.sampleapp D/DMLog: Request:
11-23 17:13:35.606 2035-2035/com.dailymotion.sampleapp D/DMLog: Request: nonce: 583614882909f
11-23 17:13:35.606 2035-2035/com.dailymotion.sampleapp D/DMLog: Request: queue https://api.dailymotion.com/oauth/token
11-23 17:13:35.616 2035-2069/com.dailymotion.sampleapp I/qtaguid: Tagging socket 63 with tag 81c1164e00000000{2176915022,0} for uid 4294967295, pid: 2035, getuid(): 10325
11-23 17:13:35.616 2035-2069/com.dailymotion.sampleapp I/qtaguid: Tagging socket 84 with tag 81c1164e00000000{2176915022,0} for uid 4294967295, pid: 2035, getuid(): 10325
11-23 17:13:35.956 2035-2069/com.dailymotion.sampleapp I/qtaguid: Untagging socket 63
11-23 17:13:35.966 2035-2035/com.dailymotion.sampleapp D/DMLog: Request: got token: czcCUQYYGhRCDlsBEVVKWxwGCEIAV1kCRhQ
11-23 17:13:35.976 2035-2035/com.dailymotion.sampleapp D/DMLog: Request: queue https://api.dailymotion.com/me/?family_filter=false&client_type=dailymotionSdkAndroid&fields=avatar_120_url%2Cavatar_240_url%2Cavatar_360_url%2Cavatar_480_url%2Cavatar_60_url%2Cavatar_720_url%2Cid%2Cvideostar.thumbnail_480_url%2Cusername%2Cscreenname%2Ctile.event%2Cplaylists_total%2Cverified%2Cvideos_total%2Cpartner%2Cviews_total
11-23 17:13:35.986 2035-2070/com.dailymotion.sampleapp I/qtaguid: Tagging socket 63 with tag 81c1164e00000000{2176915022,0} for uid 4294967295, pid: 2035, getuid(): 10325
11-23 17:13:36.176 2035-2070/com.dailymotion.sampleapp I/qtaguid: Untagging socket 63
Please help me out In DMWebVideoView.java , when integrated with the sample app provided, it gives following 2 errors:
"The method onShowCustomView(View, int, WebChromeClient.CustomViewCallback) of type new WebChromeClient(){} must override or implement a supertype method"
I have made following changes in menifest
{noformat}
android.content.ActivityNotFoundException:
at android.app.Instrumentation.checkStartActivityResult (Instrumentation.java:2007)
at android.app.Instrumentation.execStartActivity (Instrumentation.java:1673)
at android.app.Activity.startActivityForResult (Activity.java:4586)
at androidx.fragment.app.FragmentActivity.startActivityForResult (FragmentActivity.java:675)
at android.app.Activity.startActivityForResult (Activity.java:4544)
at androidx.fragment.app.FragmentActivity.startActivityForResult (FragmentActivity.java:662)
at android.app.Activity.startActivity (Activity.java:4905)
at android.app.Activity.startActivity (Activity.java:4873)
at com.dailymotion.android.player.sdk.PlayerWebView$finishInitialization$1.shouldOverrideUrlLoading (PlayerWebView.java:235)
at android.webkit.WebViewClient.shouldOverrideUrlLoading (WebViewClient.java:77)
at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading (AwContentsClientBridge.java:16)
at android.os.MessageQueue.nativePollOnce (MessageQueue.java)
at android.os.MessageQueue.next (MessageQueue.java:326)
at android.os.Looper.loop (Looper.java:160)
at android.app.ActivityThread.main (ActivityThread.java:6758)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:497)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:912)
{noformat}
Is it possible to play a video in repeat mode ? (Having it play again infinitely)
`
private fun initView() {
mViewModel = ViewModelProvider(this).get(DailymotionVideoPlayerViewModel::class.java)
intent?.run {
addPlayerEventListeners()
val videoId = getStringExtra("VIDEO_ID")
videoId?.run {
mViewModel.networkStateLiveData.observe(this@DailymotionVideoPlayerActivity, Observer {event->
event.getContentIfNotHandled()?.let {
shimmerContainer.beVisibleOrGone(it == NetworkState.LOADING)
descriptionGroup.beVisibleOrGone(it == NetworkState.LOADED)
if(it.status == Status.FAILED){
onVideoDetailFetchedFail(it)
}
}
})
mViewModel.videoDetailLiveData.observe(this@DailymotionVideoPlayerActivity, Observer { event ->
event.getContentIfNotHandled()?.let {
onVideoDetailFetched(it)
}
})
playVideo(this)
handleRelatedVideos()
}?:{
CommonUtils.showToast("Something went wrong")
finish()
}()
}
share.setOnClickListener{
handleShare()
}
}
private fun playVideo(videoId: String) {
playerWebview.load(params = mutableMapOf("video" to videoId))
mViewModel.updateCurrentPlayingVideo(videoId)
mViewModel.getVideoDetail(videoId)
}
private fun addPlayerEventListeners() {
playerWebview.setIsWebContentsDebuggingEnabled(BuildConfig.DEBUG)
playerWebview.setWebViewErrorListener(object : PlayerWebView.WebViewErrorListener {
override fun onErrorReceived(webView: WebView?, errorCode: Int, description: String?, failingUrl: String?) {
MyLog.d("Dailymotion_Debug", "received an error with code: $errorCode, description: $description from URL: $failingUrl")
}
@TargetApi(Build.VERSION_CODES.M)
override fun onErrorReceived(webView: WebView?, request: WebResourceRequest?, error: WebResourceError?) {
MyLog.d("Dailymotion_Debug", "received an error with code: ${error?.errorCode}, description: ${error?.description}from URL: ${request?.url?.toString()}")
}
override fun onReceivedSslError(webView: WebView?, handler: SslErrorHandler?, error: SslError?) {
MyLog.d("Dailymotion_Debug", "received an SSL error with primaryCode: ${error?.primaryError}")
}
@TargetApi(Build.VERSION_CODES.M)
override fun onReceivedHttpError(webView: WebView?, request: WebResourceRequest?, errorResponse: WebResourceResponse?) {
MyLog.d("Dailymotion_Debug", "received an HTTP error with statusCode: ${errorResponse?.statusCode}")
}
})
playerWebview.setEventListener { playerEvent ->
when (playerEvent) {
is PlayEvent-> {}
is PlayingEvent-> {}
is ApiReadyEvent-> {}
is StartEvent-> {
}
is LoadedMetaDataEvent -> {
}
is ProgressEvent -> {
}
is DurationChangeEvent -> {
}
is TimeUpdateEvent, is AdTimeUpdateEvent, is SeekingEvent, is SeekedEvent -> {
}
is VideoStartEvent, is AdStartEvent, is AdPlayEvent, is EndEvent -> {
}
is AdPauseEvent, is AdEndEvent, is VideoEndEvent, is PauseEvent -> {
}
is QualityChangeEvent -> {
}
is VolumeChangeEvent -> {
}
is FullScreenToggleRequestedEvent -> {
onFullScreenToggleRequested()
}
}
MyLog.d("Dailymotion_Debug",playerEvent.toString())
}
}`
Replay when video finish playing does not work, unless manually seeking a new position.
Hello,
I have made an application with a videoview, but the video don't play on a Samsung Galaxy S2 and don't play in Genymotion in 2.3; but i's work in fullscreen.
Also the automatic fullscreen option don't work at all.
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.