2

2つの方法があり、最初の方法はビデオファイルを返し、もう1つはサムネイル画像を返します。

  public ActionResult Video(string id)
    {
        UserVideo videoEntity = AccountBasicEntity.GetUserVideoWithID(id);

        string videoPath = ConfigurationManager.AppSettings["VideoPath"] + videoEntity.VideoFileName;


        return File(videoPath, "video/mp4");
    }

    public ActionResult Thumb(string id)
    {
        UserVideo videoEntity = AccountBasicEntity.GetUserVideoWithID(id);

        string thumbPath = ConfigurationManager.AppSettings["ThumbsPath"] + videoEntity.PreviewImageFileName;

        return File(thumbPath, "image/jpg");
    }

そして私は次のようにURLに到達することができます

http://localhost/media/video/GTt-b2DcEG ( returns video file )
http://localhost/media/thumb/GTt-b2DcEG ( returns image file )

このメソッドは正常に機能し、画像ファイルを返します。しかし、もう1つは機能せず、ブラウザ(chrome)が再生されないか、jPlayerがビデオファイルを再生しません。しかし、ブラウザまたはjplayerはサムネイル画像を表示します。デバッグしましたが、パスは問題ありません。

ビデオパスは次のとおりです:C:\ Web \ data \ videos \ GTt-b2DcEG.mp4イメージパスは次のとおりです:C:\ Web \ data \ thumbs \ GTt-b2DcEG.jpg

私は何かが恋しいですか?この状況でajaxベースのビデオプレーヤーにフィードするための最良の方法は何ですか?

ありがとう。

クライアント側 :

    <!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />

<!-- Website Design By: www.happyworm.com -->
<title>Demo : jPlayer as a video player</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="skin/pink.flag/jplayer.pink.flag.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.jplayer.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){

    $("#jquery_jplayer_1").jPlayer({
        ready: function () {
            $(this).jPlayer("setMedia", {
                m4v: "http://localhost/media/video/GTt-b2DcEG",
                poster: "http://localhost/media/thumb/GTt-b2DcEG"
            });
        },
        swfPath: "js",
        supplied: "webmv, ogv, m4v",
        size: {
            width: "640px",
            height: "360px",
            cssClass: "jp-video-360p"
        }
    });

});
//]]>
</script>
</head>
<body>
        <div id="jp_container_1" class="jp-video jp-video-360p">
            <div class="jp-type-single">
                <div id="jquery_jplayer_1" class="jp-jplayer"></div>
                <div class="jp-gui">
                    <div class="jp-video-play">
                        <a href="javascript:;" class="jp-video-play-icon" tabindex="1">play</a>
                    </div>
                    <div class="jp-interface">
                        <div class="jp-progress">
                            <div class="jp-seek-bar">
                                <div class="jp-play-bar"></div>
                            </div>
                        </div>
                        <div class="jp-current-time"></div>
                        <div class="jp-duration"></div>
                        <div class="jp-title">
                            <ul>
                                <li>Big Buck Bunny Trailer</li>
                            </ul>
                        </div>
                        <div class="jp-controls-holder">
                            <ul class="jp-controls">
                                <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
                                <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
                                <li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
                                <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
                                <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
                                <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
                            </ul>
                            <div class="jp-volume-bar">
                                <div class="jp-volume-bar-value"></div>
                            </div>

                            <ul class="jp-toggles">
                                <li><a href="javascript:;" class="jp-full-screen" tabindex="1" title="full screen">full screen</a></li>
                                <li><a href="javascript:;" class="jp-restore-screen" tabindex="1" title="restore screen">restore screen</a></li>
                                <li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
                                <li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
                            </ul>
                        </div>
                    </div>
                </div>
                <div class="jp-no-solution">
                    <span>Update Required</span>
                    To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
                </div>
            </div>
        </div>
</body>

</html>
4

1 に答える 1

1

すでに行ったトラブルシューティングについては言及していません。

過去にこの問題が発生したとき、最初に確認することは、IIS に MIME タイプが追加されていることです。デフォルトでは、IIS 6 および 7 は、構成されていない MIME タイプのコンテンツを提供しません。

IIS7 Web.config で MIME タイプを追加する方法

次は、mp4 のエンコードに使用されるコーデックが jPlayer で再生可能であることです。

jPlayer メディア エンコーディング

于 2012-08-01T20:04:03.823 に答える