ksvc / KSYMediaPlayer_Android

金山云Android播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode
http://v.ksyun.com/
Apache License 2.0
855 stars 246 forks source link

智能电视和电视盒子播放失败 #161

Open as11051105 opened 7 years ago

as11051105 commented 7 years ago

RT,在手机上没有问题,但apk安装到智能电视和电视盒子播放都会失败,直接页面退出,这是什么原因呢?

FirmianaRain commented 7 years ago

有错误日志吗

as11051105 commented 7 years ago

Process: com.cmcc.mbh, PID: 4041 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cmcc.mbh/com.cmcc.mbh.TextureVodActivity}: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class com.ksyun.media.player.KSYTextureView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class com.ksyun.media.player.KSYTextureView at android.view.LayoutInflater.inflate(LayoutInflater.java:539) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) at android.app.Activity.setContentView(Activity.java:2166) at com.cmcc.mbh.TextureVodActivity.onCreate(TextureVodActivity.java:343) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.ksyun.media.player.KSYTextureView at android.view.LayoutInflater.createView(LayoutInflater.java:645) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 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 com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  at android.app.Activity.setContentView(Activity.java:2166)  at com.cmcc.mbh.TextureVodActivity.onCreate(TextureVodActivity.java:343)  at android.app.Activity.performCreate(Activity.java:6237)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Native Method) at android.view.LayoutInflater.createView(LayoutInflater.java:619) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  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 com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  at android.app.Activity.setContentView(Activity.java:2166)  at com.cmcc.mbh.TextureVodActivity.onCreate(TextureVodActivity.java:343)  at android.app.Activity.performCreate(Activity.java:6237)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  Caused by: java.lang.UnsatisfiedLinkError: No implementation found for void com.ksyun.media.player.KSYMediaPlayer.native_init() (tried Java_com_ksyun_media_player_KSYMediaPlayer_native_1init and Java_com_ksyun_media_player_KSYMediaPlayer_native_1init__) at com.ksyun.media.player.KSYMediaPlayer.native_init(Native Method) at com.ksyun.media.player.KSYMediaPlayer.initNativeOnce(KSYMediaPlayer.java:383) at com.ksyun.media.player.KSYMediaPlayer.b(KSYMediaPlayer.java:478) at com.ksyun.media.player.KSYMediaPlayer.<init>(KSYMediaPlayer.java:449) at com.ksyun.media.player.KSYMediaPlayer.<init>(KSYMediaPlayer.java:82) at com.ksyun.media.player.KSYMediaPlayer$Builder.build(KSYMediaPlayer.java:418) at com.ksyun.media.player.KSYTextureView.b(KSYTextureView.java:122) at com.ksyun.media.player.KSYTextureView.<init>(KSYTextureView.java:90) at com.ksyun.media.player.KSYTextureView.<init>(KSYTextureView.java:84) at java.lang.reflect.Constructor.newInstance(Native Method)  at android.view.LayoutInflater.createView(LayoutInflater.java:619)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  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 com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  at android.app.Activity.setContentView(Activity.java:2166)  at com.cmcc.mbh.TextureVodActivity.onCreate(TextureVodActivity.java:343)  at android.app.Activity.performCreate(Activity.java:6237)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

as11051105 commented 7 years ago

请帮忙看下, 用adv 自带的tv模拟器也会出现这个崩溃

FirmianaRain commented 7 years ago

加载so失败了,你看下你的工程里是否添加了so库并做了相应配置

as11051105 commented 7 years ago

怎么会加载失败呢,两个jar放在libs目录下,so是放在src/main/jniLibs目录下,而且 arm64-v8a/armeabi/armeabi-v7a/x86/x86_64 这5个的so都引入的, 配置为 sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src/main/java'] resources.srcDirs = ['src/main/resources'] res.srcDirs = ['src/main/res'] assets.srcDirs = ['src/main/assets'] jniLibs.srcDirs = ['src/main/jniLibs'] } } 这个如果是 so 加载失败的话,在真机、海马模拟器 应该是也会崩溃才对,但是实际上在真机、海马模拟器 上是没问题的, 但在 盒子、智能电视和avd 的tv 模拟器上就会报错, 能详细解答一下么?谢谢了,急用~

FirmianaRain commented 7 years ago

看样子应该没什么问题才对 有app能在盒子、智能电视上跑吗

as11051105 commented 7 years ago

就是不能在盒子、智能电视 运行,只能在手机上运行

FirmianaRain commented 7 years ago

你看下这个wiki:https://github.com/ksvc/KSYMediaPlayer_Android/wiki/SDKIntegration 在gradle里添加abiFIlters 试试

as11051105 commented 7 years ago

添加了的, 各种组合都试了的, 都不行

FirmianaRain commented 7 years ago

一般来说,盒子用armv7a和arm64的足够了,有其他用户是能在盒子上run起来的 我们自测在盒子和小米电视上都能run 具体的问题你在看看吧,从日志上看是加载so库失败了