【问题标题】:Android HTML5 video in Meteor + Phonegap/CordovaMeteor + Phonegap/Cordova 中的 Android HTML5 视频
【发布时间】: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 视频。并且没有额外的插件。

【问题讨论】:

    标签: html cordova video meteor


    【解决方案1】:

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

    1. 通过标准 Cordova plugin 使用原生 android 视频播放器。
    2. 使用插件让你通过HTML5 via a local source播放视频。

    尝试安装其中一个,您的问题应该会得到解决。

    【讨论】:

    • 我已经安装了选项 2,但我仍然遇到找不到文件的错误。我不确定我是否正确使用它。我通过以下方式添加了插件:meteor add cordova:com.jaeger.html5video@https://github.com/jaeger25/Html5Video/tarball/fe2fcc23de5c5a37c20d4254e7cde51cf09ce567 我已经在代码中添加了Meteor.startup(function() { window.plugins.html5video.initialize({ "frontViewVideo": "video/mp4/front/1.mp4", "sideViewVideo": "video/mp4/side/1.mp4" }); })
    • 该插件需要一些额外的设置才能正常使用。查看我提供的 Github 链接上的文档。您应该考虑的几个要点:首先,您必须通过 Cordova 更改 android 配置以打开硬件加速。其次,视频不能像您拥有的那样位于根公共文件夹中。我不是 100% 确定如何将它与 Meteor 集成,但他们需要在一个特殊的地方让 Cordova 找到它们。 Meteor 可能无法做到这一点!最后需要直接从JS开始播放。老实说,选项 1 可能会更好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    相关资源
    最近更新 更多