2

私は Web を精査し、プレーヤーをアップグレードし、5 回書き直しましたが、5 日目の失敗を完了しましたが、Longtail の人々が私に言うことをまだ達成できません。(誤解しないでください、私はそこが大好きですが、これで橋から飛び降りる準備ができました)。

私は単純に、Flash または iOS で再生されるビデオをロードしようとしています。ロードするとすぐに、.seek()メソッドを使用してビデオの特定のポイントに移動します。onBeforePlay()iOS は明らかにプレイリストの開始値を尊重しないため、Longtail は関数を使用するように指示します。このコードは Flash では煙のように機能しますが、iOS ではシークを無視します。

誰でもこれを手伝ってもらえますか - これは私がこれまでに取り組んだ中で最も高価なスクリプトになり、まったく進歩がありませんでした。:( :( :( また、すべてのコンソール機能を削除して試してみましたが、結果は同じでした。

完全なコード/プレーヤーはhttp://www.tempurl.us/jw6e.htmlで見ることができます。Flash では動画が 60 秒から始まるのに対し、iOS では 0 秒から始まることがわかります。

jwp = jwplayer('jwp').setup({
    title: 'Single File Player', width: '720', height:'240', autostart: 'false', listbar: {position: "right",size: 400},
    sources:[
       {   file: 'http://media3.scctv.net/insight/mp4:nursing_4_clips_400.mp4/playlist.m3u8'},
       {   file: 'rtmp://fms.scctv.net/insight/nursing_4_clips_400.mp4'}
    ]
    }
);
jwp.onReady(function() {
    // Create a playlist item of the video to play
    var newItem = [
       {   title: 'Title4 ACUTE_ABDO_PAIN_400',
          image: 'playlistitem.png',
          sources:[
             {   file: 'http://media3.scctv.net/insight/mp4:ACUTE_ABDO_PAIN_400.mp4/playlist.m3u8'},
             {   file: 'rtmp://fms.scctv.net/insight/ACUTE_ABDO_PAIN_400.mp4'}
          ]
       }
    ];
    jwp.load(newItem);
});
jwp.onBeforePlay(function() {
     // This Works on PC/Mac with Flash, but does nothing on iPad/iPhone
     jwp.seek(60);
});
4

4 に答える 4

0

質問を締めくくるだけで、この問題の結論は、iOS が自動起動を許可しないということでした。それを知っていれば、期待どおりに動作していなかったすべての期待されたイベントは理にかなっています。ユーザーが Play でストリームを開始すると、すべてが期待どおりに機能します。私たちの場合、ストリームの後半で開始したいので、これはまだ問題ですが、それを知っていると対処しやすくなりました。

于 2014-01-21T15:17:35.947 に答える
0

onBeforePlay と seek() および play() を使用して、iOS でこの問題を解決しました。これは、デスクトップ フラッシュおよび IOS で機能します。パラメータ androidhls:true を使用する Android では機能しません

jwplayer().onBeforePlay(function() { jwplayer().seek(60); });
jwplayer().play();
于 2014-10-01T16:07:03.113 に答える
0

Ethan JWPlayer がコメントで言及したように、onPlayイベントを使用します。あなたが言ったように「ループバッファリング」を防ぐには、フラグ変数を使用してください:

var isFirstStart = true,
    seekValue    = 60;

jwplayer().onPlay(function(){
    //exit if it's no first playback start
    if( !isFirstStart ) {
        return;
    }

    jwplayer().seek(seekValue);
    isFirstStart = false;
});
于 2015-05-14T06:17:54.893 に答える