私は、同じビデオを.MP4とOGGの両方の形式でアップロードすると、生成されたビデオタグ(videojsを使用)がクロスプラットフォームになることをユーザーに示す概念証明を作成することはできません。最近アップロードした動画を直接表示するにはどうすればよいですか?
私はデザイナを使用してファイルアップロードを作成し、ソリューション内のフォルダ "ファイル"に最大512MBのファイルをアップロードしましたが、生成されたビデオタグでWebページを更新する方法を知りたいと思います。
これは私が変更したいタグです:
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup='{"example_option":true}'>
<source id="mp4" src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
<source id="webm" src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
<source id="ogg" src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
</video>
方法セーブマイ:私はほとんど今のソリューションを持っている
:
protected void btnUpload_Click(object sender, EventArgs e){
//check to make sure a file is selected
if (FileUpload1.HasFile) {
//create the path to save the file to
string fileName = Path.Combine(Server.MapPath("~/Files"), FileUpload1.FileName);
//save the file to our local path
FileUpload1.SaveAs(fileName);
}
}
EDITを。どういうわけか、それは正しい道を得られません。解決策は、私が作成しました:
<script type="text/javascript">
var _strSource = '<ASP:LITERAL runat="server" id="litSource" />';
window.onload = function()
{
if (_strSource != "") {
alert(_strSource);
var video = document.getElementById('objVideo');
var sources = video.getElementsByTagName('source');
alert(sources[0].src);
sources[0].src = _strSource;
video.load();
video.play();
}
}
</script>
とサーバ側で:私も私のweb.configファイルでこれを追加
protected void btnUpload_Click(object sender, EventArgs e){
//check to make sure a file is selected
if (FileUpload1.HasFile) {
//create the path to save the file to
string fileName = Path.Combine(Server.MapPath("/Files"), FileUpload1.FileName);
//save the file to our local path
FileUpload1.SaveAs(fileName);
this.litSource.Text = fileName.Replace("\\", "\\\\");
}
}
:
<staticContent>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<mimeMap fileExtension=".ogg" mimeType="video/ogg" />
<mimeMap fileExtension=".webm" mimeType="video/webm" />
<mimeMap fileExtension=".m4v" mimeType="video/m4v" />
</staticContent>
それは今までのパスを変更する(中私の場合)C:\ Projects \ FileUploadTest \ FileUploadTest \ Files \ c4b3ae2189ea.ogg。これはファイルがアップロードされる実際のパスですが、ブラウザはこのパスに到達できません。誰もがこれを達成するためのアイデアを持っていますか?
私はそれがキャッシュになるフラッシュフォールバックだと思います。私がブラウザに何かをキャッシュしないように設定しても、それはまだそうするようです。回避策はブラウザを閉じてもう一度開くことですが、Flashキャッシュをリセットできるかどうかは誰にもわかりますか? –
注:Chromeで動作します(Chromeを使用すると、Flashフォールバックは発生しません)。 –