Skip to content

動画・音声: 看板に背を向けると音量が上がる問題を直した (#19) - #21

Closed
malken21 wants to merge 1 commit into
mainfrom
fix/19-volume-behind
Closed

malken21 wants to merge 1 commit into
mainfrom
fix/19-volume-behind

Conversation

@malken21

Copy link
Copy Markdown
Member

Closes #19

原因

動画・音声の音量は、その tick に描画された看板のうち、最も近いものまでの距離で決めています (core/.../sign/MediaSession.java)。
看板に背を向けると、看板は視界の外になって描画されなくなり、その tick は距離が分かりません。
このとき距離を 0 (目の前) と見なしていたため、再生が止まるまでの約 3 秒間、最大の音量で鳴っていました。

各バージョンの実装 (adapters/) が渡しているカメラから看板までの距離は正しく、問題は全バージョン共通の core 側でした。

変更

  • 描画されなかった tick は、最後に分かった距離のまま音量を決めるようにしました (core のみの変更)。
  • 動作確認 (SelfTest): 動画・音声の看板では、正面を向いたときと、真上を向いて看板が視界から外れたときの音の大きさを比べ、外れたときの方が大きければ失敗にします。
    結果の文に「facing / looking away の音の大きさ」と「外れている間に描画された回数」を書きます (視界から外れても描画が続くバージョンでは、比較の意味が薄いことが分かるように)。

確認

  • ./gradlew :dist:assemble: 成功。コンパイラーの警告は main と同じ (この変更で増えたものはなし)
  • 実機 (tools/verify): 下に追記します

音量は、その tick に描画された看板のうち最も近いものまでの距離で決めている。
看板に背を向けると、看板は視界の外になって描画されなくなり、距離が分からない tick ができる。
そのときに距離を 0 (目の前) と見なしていたため、再生が止まるまでの約 3 秒間、最大の音量になっていた。

- 描画されなかった tick は、最後に分かった距離のまま音量を決める
- 動作確認 (SelfTest): 動画・音声の看板では、正面を向いたときと、真上を向いて看板が視界から外れたときの
  音の大きさを比べ、外れたときの方が大きければ失敗にする
@malken21

Copy link
Copy Markdown
Member Author

#18 (splat ブランチ) に統合しました。以後の確認と取り込みは #18 で行います。

@malken21 malken21 closed this Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

後ろ向くと音量上がる

1 participant