質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

2394閲覧

HTML5、videoが時々静止してしまう

AkikoS

総合スコア11

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/09/25 05:08

###前提・実現したいこと

自作のシークバーでHTML5のvideo(media)のシーク処理を行っているのですが、
時々再生が停止してしまうため困っています。

再生を再開させる方法をご存じないでしょうか。
あるいは、ここを調査すると良いのでは?等のアドバイスを頂きたいです。
よろしくお願いいたします。

###ソースコード(要点のみ)

JavaScript

11.再生ボタン押下 2 video.play() 32.シークバー移動 4 video.pause() 5 video.currentTime = シークバー移動後の位置の秒数 63.移動後に再生再開 7 video.play()

###発生している問題・エラーメッセージ

2→3を繰り返すと、数回実施後に動画が静止してしまいます。 (1、2はユーザ操作で、3はシステムで実施してるものです。 3の処理が正しく行われずにずっとシーク中になってしまいます。) 静止している際のvideoの状態は下記です。 readyState=1(HAVE_METADATA) networkState=2(NETWORK_LOADING) seeking=true

###試したこと・1
試しにreadyStateが3以上になってから3.のplay()をしようと、
2.の処理後にsetIntervalをかけてreadyStateの変化を待ってみたのですが、しばらく待ってみても変わりませんでした。

ただ、この状態でもう一度2.を行うと再生が再開することがありました。
(currentTimeを全然別の値に変えた場合。また、その際readyStateは4に変わりました。)

できればcurrentTimeは変更したくありません。

###試したこと・2
dash.jsのバージョンを最新の2.3.0で実験してみたところ、video初期化時に下記のエラーが起きたため、
そもそも、使用している動画の変換方法がうまくない気もしています。
ただ、当パージョン(1.2.0)を使用している分にはエラーは発生しません。
Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines

###試したこと・3
Chromeの場合、play()がpromiseを返すようになっているかも(下記URL)と
1.のresolve待ちで2.をthenでつないでみたのですが、やはり再生はされませんでした。

https://developers.google.com/web/updates/2016/03/play-returns-promise

###補足情報(言語/FW/ツール等のバージョンなど)
使用しているライブラリはdash.js(1.2.0)
videoはMPEG-DASH形式、ブラウザはChrome(53.0.2785.116m)、FireFox(49.0.1)です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問