4

我想在phonegap android上通过HTML5视频标签显示本地视频这个html代码有什么问题?:

<video controls width="300" height="300">
 <source src="file:///android_asset/www/data/video.m4v">
 <source src="file:///android_asset/www/data/video.webm">
</video>

它不起作用,视频无法播放。

它也不起作用:

<video controls width="300" height="300"><source src="data/video.m4v"><source src="data/video.webm"></video>

但是当我从远程服务器加载视频时效果很好(我从服务器加载相同的视频文件):

<video controls width="300" height="300">
     <source src="http://192.168.1.140/video.m4v">
     <source src="http://192.168.1.140/video.webm">
</video>

我构建它并在 Android 上运行。

4

3 回答 3

4

我找到了另一种在android中获取路径的方法。将视频放在“res”文件夹中,并将视频播放器src设置为“android.resource://your.package.name/raw/videofilename”。不要放视频扩展名。在 IOS 中,您可以将其放在 assets 文件夹中并以“foldername/videoName.mp4”的形式访问它。虽然它是旧帖子,但我希望它会对某人有所帮助。

注意:“raw”是“res”文件夹中的文件夹名称,我以前在Android中保存视频文件。

于 2013-12-18T14:00:31.643 回答
0

视频文件是您应用程序的一部分吗?如果是这样,您的 src 字符串是错误的。就像您在应用程序的根文件夹中一样建立 src。因此,如果您有根目录(您的 index.html 文件所在的位置)然后是视频,然后是您的视频文件,您将使用<source src="videos/video.m4v">

编辑:

尝试这个:

<video width="320" height="240" controls>
    <source src="data/video.webm" type="video/webm">
    Your browser does not support the video tag.
</video>

注意:m4v,据我所知,它不是受支持的视频格式。仅支持 mp4、ogg 和 webm。另外,添加“您的浏览器不支持视频标签”。行以查看您的设备上是否存在支持问题。

于 2013-09-25T14:44:35.870 回答
0

为您的应用程序创建一个文件夹并将视频保存在那里。假设 APP_FOLDER_ 是该文件夹的所需名称;APPLICATION_WORKING_DIR_ 是对根目录的全局引用,vid 是视频的名称:

/*code to create the app's folder*/
var onFileSystemRequestSuccess = function(fs) {
    //success fn create dir
    var onDirCreateSuccess = function(dir) {
        //fs instance pointing to root dir
        APPLICATION_WORKING_DIR_ = dir;
    };
    //fail fn
    var onDirCreateFail = function(err) {
        //manage error
    };
    fs.root.getDirectory(APP_FOLDER_, { create: true, exclusive: false }, onDirCreateSuccess, onDirCreateFail);
};
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemRequestSuccess, function () { });

然后,只需将视频标签的 src 指向:

/*code to set src of video tag*/
//additional: check if APPLICATION_WORKING_DIR_.fullpath ends with "/" and create the path to video
var str_path = (APPLICATION_WORKING_DIR_.fullPath.toString().endsWith('/') ? APPLICATION_WORKING_DIR_.fullPath : APPLICATION_WORKING_DIR_.fullPath + '/') + vid;
document.getElementById('video_tag_name').src = str_path;

最后,单击元素将开始播放。

希望这可以帮助。

于 2014-05-05T22:16:04.747 回答