Closed kou029w closed 3 years ago
localStorageに保存された音量を反映するタイミングを、volumePersisterを呼び出すタイミングではなく、再生開始時ごとに変更することで改善するかと思いました。
ただ、 e2d91cc81cdd18789018c237a194ad7b8465eb24 時点で以下の差分で動作確認したところ、Video.js(YouTube)で一度pauseした状態からならば問題なく音量が反映されるのですが、初回再生時は音量が反映されなかったです。(vimeo、wowzaは動作確認していないです)
diff --git a/utils/volumePersister.ts b/utils/volumePersister.ts
index 5880ca7..9db1dd9 100644
--- a/utils/volumePersister.ts
+++ b/utils/volumePersister.ts
@@ -34,12 +34,14 @@ async function intoVimeo(player: VimeoPlayer) {
save({ volume: event.volume, muted });
});
- const volume = load();
- if (volume == null) return;
- await Promise.all([
- player.setVolume(volume.volume),
- player.setMuted(volume.muted),
- ]);
+ player.on("play", async function () {
+ const volume = load();
+ if (volume == null) return;
+ await Promise.all([
+ player.setVolume(volume.volume),
+ player.setMuted(volume.muted),
+ ]);
+ });
}
function intoVideoJs(player: VideoJsPlayer) {
@@ -49,10 +51,12 @@ function intoVideoJs(player: VideoJsPlayer) {
save({ volume, muted });
});
- const volume = load();
- if (volume == null) return;
- player.volume(volume.volume);
- player.muted(volume.muted);
+ player.on("play", function () {
+ const volume = load();
+ if (volume == null) return;
+ player.volume(volume.volume);
+ player.muted(volume.muted);
+ });
}
再生開始時ごとというよりはどちらかというと理想的にはおそらく volumechange イベント発火時のタイミングですかね
理想的にはおそらく volumechange イベント発火時のタイミングですかね
これは音量を反映したい動画プレイヤーのvolumechangeイベント発火時ではなく、異なる(最新の操作がおこなわれている)動画プレイヤーのvolumechangeイベント発火時、という認識であっていますでしょうか?
はい
This won't work on the same page that is making the changes — it is really a way for other pages on the domain using the storage to sync any changes that are made.
storageイベントによってlocalStorageの変更を検知できるかと思ったのですが、同一のページでの変更は検知しないようなので有効ではないですね
@ties-makimura @horimasumi 本件修正しました。ご確認のほどよろしくお願いします。
ページ表示後,すぐに(1秒以内とか)音量を変更すると音量が変更前に戻ります.通常の利用でこんなことしないと思いますが.. プレイヤーがYoutubeとWowzaの時だけ確認できます.
@ties-makimura #514 にて起票しました。ご確認頂きありがとうございます。
@ties-makimura @kou029w 個別に起票されているissueを除いたスコープで解決されているか判断してよろしいように思うのですが、いかがでしょうか
はい。 #514 #516 は本Issueとは別とさせてください。
そのバグについて
あるブックのなかで、音量を設定後、次のトピックに進んだ際に音量の設定が引き継がれない
再現手順
期待していた動作
動画プレイヤーの音量として最後に設定し反映されたものが他のトピックの再生時に引き継がれている状態になっているのが望ましいと考える