【发布时间】:2015-02-08 01:23:20
【问题描述】:
所以我使用流星制作了一个 Web 应用程序,它可以很好地播放存储在其公共文件夹中的视频。问题是当我将它构建到 Android 的本机应用程序中时,它似乎无法找到视频。
只是想知道是否有人知道如何解决这个问题。如果可能的话,我希望将视频存储在本地(在应用程序缓存中?)。我目前正在为流星使用 videojs 包。我尝试过不同格式的视频,如 mp4、ogg 和 webm。
干杯!
更新:
我设法找到了一个不需要插件的解决方案。 Meteor 允许您在构建过程中替换一些 Cordova 文件,方法是在根项目文件夹下创建一个 cordova-build-override 文件夹。所以我在以下位置添加了一个文件:
cordova-build-override/platforms/android/src/com/{somename}/{appname}/{AppName}.java
然后我进入.meteor/local/cordova-build/{follow same dir as above} 并将生成的 *.java 复制到文件中。并添加了这几行。
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+meteor 中使用 videojs 播放内联 HTML5 视频。并且没有额外的插件。
【问题讨论】: