Coder Social home page Coder Social logo

dailymotion-player-sdk-android's People

Contributors

geoffreytan avatar johansatge avatar mallethugo avatar martinbonnin avatar mccarthypaulmichael avatar michgauz avatar morglr avatar psaykham avatar shaohuz 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

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

dailymotion-player-sdk-android's Issues

FullScreen not working

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

unable to focus on the controls button of the player like Volume, Setting and Full-Screen control through a Jio STB remote.

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 -

  • Views ID of Volume, Setting and Full-Screen buttons. So I can use the request focus thing for focus over controls.
    OR
  • Please give any option method so I will hide Volume, Setting and Full-Screen button control always. Like hideVolumebutton() OR view.setVisibility(View.GONE).

Attaching image , where i need focus through remote - Link for image

No video playing

I used this code, only audio is playing but no video. Only showing black screen in web view with controls.

Black screen when calling "setFullscreenButton" method on Hyundai ads

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

How to change color of the bottom progress bar

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).

release() player is not working

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.

video Ad not shown when start video

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

The sdk is not send play,playing,timeupdate,pause event.

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.

How to play video from specific position (set start position)

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.

Summary

On Android, YouTube component which is in ScrollView stops playback.

Detail

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.

Information

ReactNative: v0.35.0
react-native-youtube: v0.8.0
Device: Nexus 5X / Android 7.0(NBD90W)

Cannot start the media codec on Android TV 9.

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?

setOnCompletionListener is never called

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!

Dailymotion Doesn't work on ionic framework

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.

I created a project but video not visible in player

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.

Min SDK version become 21 ?

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?

PlayerWebView event return status is abnormal.

In the test, we found that abnormal event returns, the video is always in the loading state.

  • Logcat returned by normal events
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
  • Logcat returned by abnormal events
    Usually occurs when the video is first loaded
    There is an abnormal "end" event and no "playing" & "progress&time" events
    It appears that the video is playing but not progress update.
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
  • Logcat returned by abnormal events
    Usually occurs when the PlayerWebView reuse
    There is no "playing" events but "progress&time" works
    It appears that the video is playing but loading (translucent mask) keeps flashing on the page.
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

Unable to play any DailyMotion video

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

error and reload if internet connection is interrupted

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.

Remove Timber dependency

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.

Crash when Player Appear [Android SDK]

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

After I log in, the app has no reaction but black screen

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

mWebSettings.setMediaPlaybackRequiresUserGesture(false) in DMWebVideoView.java is undefined

Please help me out In DMWebVideoView.java , when integrated with the sample app provided, it gives following 2 errors:

  1. The method is undefined mWebSettings.setMediaPlaybackRequiresUserGesture(false) for the type web settings.
  2. public void onShowCustomView(View view, int requestedOrientation, CustomViewCallback callback) is also giving error:

"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

Crash on shouldOverrideUrlLoading Intent not found activity to execute.

{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}

[ANDROID] Not getting PlayerEvents in proguarded apk also video is not playing.

`

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())
    }
}`

Player don't work on Android 2.3 !

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.

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.