Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 在Android 4.4及更低版本上的Cordova PhoneGap应用程序中的HTML5视频播放器中播放本地/应用内mp4文件_Video_Cordova_Android Webview_Cordova 3 - Fatal编程技术网

Video 在Android 4.4及更低版本上的Cordova PhoneGap应用程序中的HTML5视频播放器中播放本地/应用内mp4文件

Video 在Android 4.4及更低版本上的Cordova PhoneGap应用程序中的HTML5视频播放器中播放本地/应用内mp4文件,video,cordova,android-webview,cordova-3,Video,Cordova,Android Webview,Cordova 3,我使用Android 4.0.3(API 15)和更高版本制作了视频。然而,随着安卓4.4及其基于Chromium的修订版WebView的加入,这个插件不再满足需要 现在,我更愿意在没有任何插件的情况下播放这些视频(它在iOS上运行得非常好…),所以我回去尝试了。Is希望这个基于Chromium的网络视图能够更友好地播放基本的HTML5,但我得到的错误与以前完全相同:MediaPlayer(30579):错误(1,-2147483648) 我花了几个小时尝试了几种不同的方法,但都没有用。下面我将

我使用Android 4.0.3(API 15)和更高版本制作了视频。然而,随着安卓4.4及其基于Chromium的修订版WebView的加入,这个插件不再满足需要

现在,我更愿意在没有任何插件的情况下播放这些视频(它在iOS上运行得非常好…),所以我回去尝试了。Is希望这个基于Chromium的网络视图能够更友好地播放基本的HTML5,但我得到的错误与以前完全相同:
MediaPlayer(30579):错误(1,-2147483648)

我花了几个小时尝试了几种不同的方法,但都没有用。下面我将列出一些我尝试过的东西。请问,有没有人能给我指出正确的方向?我没有主意了

使用文件的正常文件引用://

代码:

使用Phonegap的文件系统API的文件引用

代码:

    <video id="whoismad" width="75%" height="75%" loop class="videoplayer">
        <source src="cdvfile://android_asset/www/res/raw/whoismad.mp4" type="video/mp4">
    </video>

在尝试从应用程序资产中读取视频文件时,Cordova 3.4目前似乎不可能做到这一点

如果文件被复制到应用程序资产之外的目录,或者文件被远程存储,则可以读取该文件。但不再在app assets文件夹中


我有一个类似的问题-我的应用程序有一个欢迎屏幕,屏幕上有一个简短的视频,解释应用程序(~300k),我不能在APK之外播放。

非常感谢您排除了这一点。链接已经消失了,所以很明显我已经看到了这一个,但只是过去了。。。我简直不敢相信这么(看似)琐碎的事情是办不到的。总结:“APK类似于JAR文件,它是一种特殊类型的ZIP文件,其中包含应用程序的类及其资源和资产。对于要从资产访问的任何文件,必须对其进行解压缩。这对于不是视频的文件来说是微不足道的,但显然由于视频文件的性质,Android无法解压缩这些文件并播放它们。”
04-24 11:24:30.111: D/HTML5VideoViewProxy(30579): handleMessage - PLAY
04-24 11:24:30.119: D/HTML5VideoInline(30579): HTML5VideoInline created
04-24 11:24:30.127: V/MediaPlayer-JNI(30579): native_setup
04-24 11:24:30.127: V/MediaPlayer(30579): constructor
04-24 11:24:30.142: V/MediaPlayer(30579): setListener
04-24 11:24:30.189: V/MediaPlayer(30579): setVideoSurfaceTexture
04-24 11:24:30.189: V/MediaPlayer-JNI(30579): reset
04-24 11:24:30.189: V/MediaPlayer(30579): reset
04-24 11:24:30.236: V/MediaPlayer(30579): setVideoSurfaceTexture
04-24 11:24:30.236: V/MediaPlayer(30579): prepareAsync
04-24 11:24:30.244: V/MediaPlayer(30579): message received msg=100, ext1=1, ext2=-2147483648

04-24 11:24:30.244: E/MediaPlayer(30579): error (1, -2147483648)

04-24 11:24:30.244: V/MediaPlayer(30579): callback application
04-24 11:24:30.244: V/MediaPlayer(30579): back from callback

04-24 11:24:30.252: E/MediaPlayer(30579): Error (1,-2147483648)

04-24 11:24:30.267: D/HTML5VideoViewProxy(30579): handleMessage - ERROR
04-24 11:24:30.267: D/CordovaWebView(30579): Hidding Custom View
04-24 11:24:30.267: D/HTML5VideoViewProxy(30579): handleMessage - ENDED
04-24 11:24:30.283: D/HTML5VideoViewProxy(30579): handleMessage - SEEK
    <video id="whoismad" width="75%" height="75%" loop class="videoplayer">
        <source src="cdvfile://android_asset/www/res/raw/whoismad.mp4" type="video/mp4">
    </video>
04-24 11:30:56.705: V/WebViewInputDispatcher(30579): blockWebkitDraw
04-24 11:30:56.705: V/WebViewInputDispatcher(30579): blockWebkitDraw lockedfalse
04-24 11:30:57.033: D/webview(30579): blockWebkitViewMessage= false
04-24 11:30:57.056: D/HTML5VideoViewProxy(30579): handleMessage - PLAY
04-24 11:30:57.064: V/MediaPlayer-JNI(30579): reset
04-24 11:30:57.064: V/MediaPlayer(30579): reset
04-24 11:30:57.064: D/HTML5VideoInline(30579): HTML5VideoInline created
04-24 11:30:57.080: V/MediaPlayer(30579): setVideoSurfaceTexture
04-24 11:30:57.080: V/MediaPlayer-JNI(30579): reset
04-24 11:30:57.080: V/MediaPlayer(30579): reset
04-24 11:30:57.080: I/MediaPlayer(30579): path is null
04-24 11:30:57.095: D/MediaPlayer(30579): setDataSource IOException happend : 
04-24 11:30:57.095: D/MediaPlayer(30579): java.io.FileNotFoundException: No content provider: cdvfile://android_asset/www/res/raw/usm.mp4
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:713)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:617)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.media.MediaPlayer.setDataSource(MediaPlayer.java:962)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.webkit.HTML5VideoView.prepareDataCommon(HTML5VideoView.java:326)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.webkit.HTML5VideoView.prepareDataAndDisplayMode(HTML5VideoView.java:363)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.webkit.HTML5VideoInline.prepareDataAndDisplayMode(HTML5VideoInline.java:72)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.webkit.HTML5VideoViewProxy$VideoPlayer.play(HTML5VideoViewProxy.java:286)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:462)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.os.Handler.dispatchMessage(Handler.java:99)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.os.Looper.loop(Looper.java:175)
04-24 11:30:57.095: D/MediaPlayer(30579):   at android.app.ActivityThread.main(ActivityThread.java:5279)
04-24 11:30:57.095: D/MediaPlayer(30579):   at java.lang.reflect.Method.invokeNative(Native Method)
04-24 11:30:57.095: D/MediaPlayer(30579):   at java.lang.reflect.Method.invoke(Method.java:511)
04-24 11:30:57.095: D/MediaPlayer(30579):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
04-24 11:30:57.095: D/MediaPlayer(30579):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
04-24 11:30:57.095: D/MediaPlayer(30579):   at dalvik.system.NativeStart.main(Native Method)
04-24 11:30:57.095: D/MediaPlayer(30579): Couldn't open file on client side, trying server side
04-24 11:30:57.095: V/MediaPlayer(30579): setVideoSurfaceTexture
04-24 11:30:57.103: V/MediaPlayer(30579): prepareAsync
04-24 11:30:57.103: V/MediaPlayer(30579): message received msg=100, ext1=1, ext2=-2147483648

04-24 11:30:57.103: E/MediaPlayer(30579): error (1, -2147483648)

04-24 11:30:57.103: V/MediaPlayer(30579): callback application
04-24 11:30:57.103: V/MediaPlayer(30579): back from callback

04-24 11:30:57.111: E/MediaPlayer(30579): Error (1,-2147483648)

04-24 11:30:57.142: D/HTML5VideoViewProxy(30579): handleMessage - ERROR
04-24 11:30:57.142: D/CordovaWebView(30579): Hidding Custom View
04-24 11:30:57.142: D/HTML5VideoViewProxy(30579): handleMessage - ENDED
04-24 11:30:57.158: D/HTML5VideoViewProxy(30579): handleMessage - SEEK