4

phonegap android で HTML5 video タグによるローカル動画を表示したい この 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

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 に答える