HTML5视频播放器Android -PhoneGap



我是Android开发和混合移动应用程序的新手,但是我需要在混合移动应用程序中播放视频。我正在使用HTML5本机视频标签,我可以确认它在iOS上正常工作。

Android手机上发生的事情是按下播放按钮时,屏幕为空,我可以在日志中看到以下行:

04-27 10:25:58.208 1655-2941/system_process I/MediaFocusControl:  AudioFocus  requestAudioFocus() from android.media.AudioManager@2803c75org.chromium.media.MediaPlayerListener@a83940a req=3flags=0x0
04-27 10:25:58.210 3082-3082/com.example W/MediaPlayer: Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No content provider: https://s3-ap-southeast-2.amazonaws.com/demovideos/video.mp4
04-27 10:25:58.217 1361-3333/? D/NuPlayer: onSetVideoSurface(0xf3d20100, no video decoder)
04-27 10:25:58.402 3082-3241/com.example E/chromium: [ERROR:gles2_cmd_decoder_autogen.h(1642)] [GroupMarkerNotSet(crbug.com/242999)!:F89A7C82A67F0000]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
04-27 10:25:58.647 1361-3334/? I/SampleTable: There are reordered frames present.
04-27 10:25:58.649 1361-3333/? D/NuPlayerDriver: notifyListener_l(0xf3d45540), (5, 320, 240)
04-27 10:25:58.650 1361-3333/? D/NuPlayerDriver: notifyListener_l(0xf3d45540), (3, 17, 0)
04-27 10:25:58.954 1361-3339/? I/NuCachedSource2: caching reached eos.
04-27 10:25:59.649 1361-3333/? D/NuPlayerDriver: notifyListener_l(0xf3d45540), (3, 100, 0)
04-27 10:25:59.649 1361-3333/? D/NuPlayerDriver: notifyListener_l(0xf3d45540), (1, 0, 0)
04-27 10:25:59.745 3082-3082/com.example D/MediaPlayer: setSubtitleAnchor in MediaPlayer
04-27 10:25:59.777 1361-1652/? D/NuPlayerDriver: start(0xf3d45540), state is 4, eos is 0
04-27 10:25:59.777 1361-3333/? I/GenericSource: start

我已经在Stackoverflow.com中查看并阅读所有评论和建议,

  • 设置WebChrome客户端和

  • 在我的androidmanifest.xml中启用硬件加速器

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="30306" android:versionName="3.3.6" android:windowSoftInputMode="adjustPan" package="com.example" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
    <application android:allowBackup="false" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:name="com.example.MyApplication">
        ... 
        ...
        ...
    </application>
</manifest>

我还检查了内容类型和视频的大小(1MB(:

http GET https://s3-ap-southeast-2.amazonaws.com/demovideos/video.mp4
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 1065903
Content-Type: video/mp4
Date: Thu, 27 Apr 2017 00:00:58 GMT
ETag: "c866e6fe66f12efed2df2db39d9b2f67"
Last-Modified: Thu, 27 Apr 2017 00:00:55 GMT
Server: AmazonS3
x-amz-id-2: xxxxxxxxxxxxx
x-amz-request-id: xxxxxxxxxxx

节点: - 该应用程序用HTML5编写,并用电话盖包装。

,如果您能给我任何线索为什么它不起作用,我真的很感激。请不要发送stackoverflow链接,我已经尝试了所有这些。

预先感谢。

请查看此答案:

https://stackoverflow.com/a/43559947/7837081

我们发现,如果您想在模拟器上使用视频标签,存在问题。另外,视频上的Android版本=&lt也存在问题。4.4.2

感谢您的帮助,我们发现有人通过致电:

来禁用代码中的硬件加速。

this.setLayerType(view.layer_type_software,null(;

https://developer.android.com/guide/topics/graphics/hardware-accel.html

最新更新