关于html:Meteor Phonegap / Cordova中的Android HTML5视频

Android HTML5 video in Meteor + Phonegap/Cordova

因此,我使用流星制作了一个Web应用程序,它可以很好地播放存储在其公用文件夹中的视频。问题是,当我将其构建到适用于Android的本机应用程序中时,它似乎无法找到视频。

只是想知道是否有人知道如何解决这个问题。我希望将视频尽可能地存储在本地(在应用程序缓存中?)。我当前正在使用流星的videojs包。而且我尝试了不同格式的视频,例如mp4,ogg和webm。

干杯!

更新:

我设法找到了不需要插件的解决方案。通过在根项目文件夹下创建一个cordova-build-override文件夹,Meteor允许您在构建过程中替换一些Cordova文件。因此,我在以下位置添加了一个文件:

1
cordova-build-override/platforms/android/src/com/{somename}/{appname}/{AppName}.java

然后我进入.meteor/local/cordova-build/{follow same dir as above}并将生成的* .java复制到文件中。并添加了以下几行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.Websettings; // This is the added line

public class AppName extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
   {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml
        super.loadUrl(Config.getStartUrl());
        //super.loadUrl("file:///android_asset/www/index.html");

        // The two lines bellow are what I've added.
        WebSettings ws = super.appView.getSettings();
        ws.setMediaPlaybackRequiresUserGesture(false);
   }
}

这使我能够在cordova流星中播放带videojs的内联HTML5视频。而且没有额外的插件。


Cordova应用程序的工作方式与标准Web应用程序略有不同。默认情况下,Cordova不允许您在应用程序中播放视频。您需要添加一个插件来扩展Cordova的视频支持。您有2个选项:

  • 通过标准的Cordova插件使用本机android视频播放器。
  • 使用插件可让您通过本地来源通过HTML5播放视频。
  • 尝试安装其中之一,您的问题应得到解决。