2013-09-25 87 views
4

我想說明的HTML5視頻標籤本地視頻上的PhoneGap的Android 有什麼不對這個網站碼?:加載視頻失敗

<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上運行。

回答

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。此外,請添加「您的瀏覽器不支持視頻標籤」。以查看您的設備是否存在支持問題。

+0

它也不起作用。 – sinoohe

+0

我已更新不起作用的問題 – sinoohe

+0

已更新的答案。 – Dom

4

我發現了另一種方式來獲取android.Put視頻裏面的「res」文件夾中的路徑,並將視頻播放器src設置爲「android.resource://your.package.name/raw/videofilename」。不要放置視頻擴展名。 在IOS中,您可以將它放在資產文件夾中,並以「foldername/videoName.mp4」的形式訪問它。雖然它是和舊的帖子,我希望它會幫助某人。

注意:「raw」是「res」文件夾內的文件夾名稱,我用於將視頻文件保存在Android中。

+0

這不適合我,它說當視頻試圖加載該網址時「無法加載資源」 – Abadaba

+0

在哪個平臺(Android或IOS)?你可以請出示視頻src嗎?那麼只有我可以猜到這個問題。 –

+1

Android 4.4.2,我使用的是完全相同的網址'android.resource://your.package。名稱/原始/ videofilename「,它不會加載。我的視頻是在平臺/ android/res/raw/videofilename.mp4 – Abadaba

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; 

最後,單擊該元素將開始播放。

希望這會有所幫助。