Kindle Fire Video Streaming Crash

时间:2012-02-08 18:42:17

标签: c# android video-streaming unity3d kindle-fire

我目前正在开发一款定期停止观看流式视频的Android应用。我正在使用Unity 3D来创建应用程序。我已经安装了应用程序的其他设备没有问题(三星Galaxy 10,Galaxy Player 5.0,东芝Thrive),但是当我在Kindle Fire上运行时,电影开始播放然后一两秒钟,Unity应用程序在后台崩溃。电影继续播放并在错误消息后面传输。 (其中显示:“应用程序测试(app)意外停止。请再试一次”)。不管是模糊的错误。

我把它连接起来所以我可以得到一个日志猫读数,因为它崩溃这些是记录的事件:

02-07 11:29:38.578: W/dalvikvm(2695): threadid=1: thread exiting with uncaught exception (group=0x40015560)

02-07 11:29:38.585: E/AndroidRuntime(2695): FATAL EXCEPTION: main

02-07 11:29:38.585: E/AndroidRuntime(2695): java.lang.AbstractMethodError: abstract method not implemented

02-07 11:29:38.585: E/AndroidRuntime(2695):     at com.unity3d.player.VideoPlayer.onControllerHide(Unknown Source)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at android.widget.MediaController$7.handleMessage(MediaController.java:704)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at android.os.Handler.dispatchMessage(Handler.java:99)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at android.os.Looper.loop(Looper.java:130)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at android.app.ActivityThread.main(ActivityThread.java:3683)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at java.lang.reflect.Method.invokeNative(Native Method)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at java.lang.reflect.Method.invoke(Method.java:507)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:850)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)

02-07 11:29:38.585: E/AndroidRuntime(2695):     at dalvik.system.NativeStart.main(Native Method)

我尝试过的一些事情:

Kindle的软件是最新的。

使用Unity 3.4和3.5进行构建。

iPhoneUtils.PlayMovieURL命令的一些变体。 (包括Unity 3.5中新的Handheld.PlayMovieFullScreen)

通过Fire的网络浏览器导航到链接可以正常运行。

通过Unity将文件下载到文件结构并从那里加载工作正常。

不同大小的文件(大或小)不会影响结果

非常感谢任何见解。

1 个答案:

答案 0 :(得分:1)

我也有类似的问题。视频将启动,但当控件消失时,应用程序将崩溃。信不信由你,添加此代码修复了所有内容。

public void onControllerHide() {
    mMediaController.hide();
}