[p5.js 2.0+ Bug Report]: Incorrect isDone assignment in MediaElement.onended() example
メンテナーはふだん 3 日以内に返信
評価
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 初心者へのやさしさ
- 86/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript
調査の方向性
issue でリンクされている p5.MediaElement onended() のリファレンス例を開き、スニペットに示されている handleEnd() のコードを見つけてください。draw() で「Done!」を表示する条件と照らし合わせて、代入を確認してください。再生終了後に完了メッセージが表示されるよう例を修正し、例を実行して、音声の再生が終わったときに「Done!」が表示されることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
Most appropriate sub-area of p5.js?
- Accessibility
- Color
- Core/Environment/Rendering
- Data
- DOM
- Events
- Image
- IO
- Math
- Typography
- Utilities
- WebGL
- WebGPU
- p5.strands
- Build process
- Unit testing
- Internationalization
- Friendly errors
- Other (specify if possible)
p5.js version
2.3.2
Web browser and version
Microsoft Edge 156.0.4314.42 (Official build) (64-bit)
Operating system
Windows 11 Version 26H2 (Build 26300.9711)
Steps to reproduce this
Steps:
- Open the onended() reference example: https://p5js.org/es/reference/p5.MediaElement/onended/
- Run the example and click the canvas to start audio playback.
- Wait for the audio to finish. The example is intended to display "Done!", but handleEnd() assigns isDone = false, while draw() displays "Done!" only when isDone === true.
Snippet:
let beat;
let isPlaying = false;
let isDone = false;
function setup() {
createCanvas(100, 100);
// Create a p5.MediaElement using createAudio().
beat = createAudio('/assets/beat.mp3');
// Call handleEnd() when the beat finishes.
beat.onended(handleEnd);
describe('The text "Click to play" written in black on a gray square. A beat plays when the user clicks. The text "Done!" appears when the beat finishes playing.');
}
function draw() {
background(200);
// Style the text.
textAlign(CENTER);
textSize(16);
// Display different messages based on playback.
if (isDone === true) {
text('Done!', 50, 50);
} else if (isPlaying === false) {
text('Click to play', 50, 50);
} else {
text('Playing...', 50, 50);
}
}
// Play the beat when the user presses the mouse.
function mousePressed() {
if (isPlaying === false) {
isPlaying = true;
beat.play();
}
}
// Set isDone when playback ends.
function handleEnd() {
isDone = false;
}
- 主要言語
- JavaScript
- スター
- 24.3k
- フォーク
- 3.9k
- 平均マージ
- 4日 4時間
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
processing/p5.js のほかの issue
-
[p5.js 2.0+ Bug Report]: Mismatched map() Reference Example対応中かも @j-xsen が 2 日前に担当しました。 オープンArea:Math Documentation p5.js 2.0+
難易度 1/5 1時間未満 初心者へのやさしさ 87/100
processing/p5.js#9329 · コメント 2 件 ·
メンテナーはふだん 3 日以内に返信
-
Area:Core p5.js 2.0+
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
processing/p5.js#9319 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
-
Area:WebGL p5.js 2.0+ p5.strands
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
processing/p5.js#9317 · コメント 4 件 ·
メンテナーはふだん 3 日以内に返信
-
[p5.js 2.0+ Bug Report]: createRadio().disable(false) does not re-enable radio inputs対応中かも @aryanb1906 が 3 日前に担当しました。 オープンArea:DOM Good First Issue p5.js 2.0+
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
processing/p5.js#9316 · コメント 5 件 · リアクション 1 件 ·
メンテナーはふだん 3 日以内に返信
-
[p5.js 2.0+ Bug Report]: touches[0].x lags one pointer event behind while dragging再び着手できるかも @titanstride が 12 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンArea:Events p5.js 2.0+
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
processing/p5.js#9305 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
processing/p5.js の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Graphify-Labs/graphify#4860 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
CommandCodeAI/command-code#1088 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
CanadaHonk/porffor#426 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
RIT-Software-Engineering/RIT-SE-Senior-Project#546 ·
メンテナーはふだん 1 日以内に返信