peacefulprogram / ddys Goto Github PK
View Code? Open in Web Editor NEWandroid tv client for ddys.tv
License: GNU General Public License v3.0
android tv client for ddys.tv
License: GNU General Public License v3.0
在相同的网络环境下,观看同样的视频,App 加载视频需要约 5~10 秒,而网页可以秒开始。
你好,想请教一下,apk安装失败是跟我电视系统不兼容嘛
Thanks for the great project!
Since corresponding domains are usually slow or blocked, it would be better to support an explicit setting to use a proxy by specifying host and port only, which allows users to redirect requests to a LAN (or WAN) proxy.
域名时常慢或被阻止,可否提供一个代理 地址 和 端口 设置,让用户可以使用局域网或其他指定地址的代理?
09-25 10:17:40.091 2568 2568 D AndroidRuntime: Shutting down VM
09-25 10:17:40.091 2568 2568 E AndroidRuntime: FATAL EXCEPTION: main
09-25 10:17:40.091 2568 2568 E AndroidRuntime: Process: com.jing.ddys, PID: 2568
09-25 10:17:40.091 2568 2568 E AndroidRuntime: android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called CREATOR on class F.u0
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readParcelableCreatorInternal(Parcel.java:4953)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readParcelableInternal(Parcel.java:4807)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:4567)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:4347)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readListInternal(Parcel.java:5329)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readArrayListInternal(Parcel.java:5348)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:4597)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:4347)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.-$$Nest$mreadValue(Unknown Source:0)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel$LazyValue.apply(Parcel.java:4445)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel$LazyValue.apply(Parcel.java:4404)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.BaseBundle.getValueAt(BaseBundle.java:394)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.BaseBundle.getValue(BaseBundle.java:374)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.BaseBundle.getValue(BaseBundle.java:357)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.BaseBundle.getValue(BaseBundle.java:350)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Bundle.getParcelableArrayList(Bundle.java:1046)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.e0.a(SourceFile:247)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.A1.a(SourceFile:36)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.A1.Z(SourceFile:17)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at N.f.Z(SourceFile:54)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at F.w.a(SourceFile:1)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.A1.a(SourceFile:189)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.A1.Z(SourceFile:29)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at N.f.Z(SourceFile:54)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at F.w.Y(SourceFile:1)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at F.v.D(SourceFile:136)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at F.v.u(SourceFile:1)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at F.B.o(SourceFile:21)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at F.P0.a(SourceFile:42)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at F.B.f(SourceFile:11)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.c0.e(SourceFile:114)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.AndroidComposeView.I0(SourceFile:1)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.WrappedComposition.f(SourceFile:1)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.WrappedComposition.g(SourceFile:1)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.lifecycle.w.a(SourceFile:23)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.lifecycle.x.a(SourceFile:111)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.c0.e(SourceFile:76)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at androidx.compose.ui.platform.AndroidComposeView.onAttachedToWindow(SourceFile:114)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.View.dispatchAttachedToWindow(View.java:21308)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3491)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2879)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2350)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9194)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:899)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:832)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:942)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7884)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: Caused by: java.lang.NoSuchFieldException: CREATOR
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at java.lang.Class.getField(Class.java:1635)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: at android.os.Parcel.readParcelableCreatorInternal(Parcel.java:4930)
09-25 10:17:40.091 2568 2568 E AndroidRuntime: ... 59 more
09-25 10:17:40.092 334 1323 W ActivityTaskManager: Force finishing activity com.jing.ddys/.main.MainActivity
拖动进度条后,视频会暂停,不会自动播放,需要手动进行恢复播放
观看视频时时长很容易超过 1 小时,而 1 小时后持有的鉴权貌似就失效了,导致无法继续观看下一集或者其他视频。
尽管在网页上也有出现类似的行为,但是仍希望可以考虑实现自动更新的逻辑。
(Prev #7)
When switching between episodes, there are no cancelable futures or locks to prevent parallel loading, which will cause:
4 -> 5 -> 6
- 5 (loading)------------played (②)
- 6 (loading)------played (①)
The 5th episode will be played if it's loaded after the 6th.
快速切换集数时没有防抖,最后加载完成的视频会成为实际播放的视频。
可以考虑在进度条附近显示出当前视频的加载缓冲速度,帮助理解网络情况以及排查问题。
目前仅支持焦点系统操作,如果能提供触控逻辑,在移动设备上使用会更加便捷。
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.