(soundfile).isPlaying

def setup
  createCanvas(100, 100)
  background(220)
  sound = loadSound("Turkish_March.mp3")

  play = createButton('再生')
  play.style('font-size', '14px')
  play.size(75, 25)
  play.position(3, 10)

  pause = createButton('一時停止')
  pause.style('font-size', '14px')
  pause.size(75, 25)
  pause.position(3, 40)
  pause.elt.disabled = true

  stop = createButton('終了')
  stop.style('font-size', '14px')
  stop.size(75, 25)
  stop.position(3, 70)
  stop.elt.disabled = true

  volume = createSlider(0, 100, 80)
  volume.size(90, 10)
  volume.style('transform', 'rotate(-90deg)')
  volume.position(45, 45)
  volume.input do
    sound.setVolume(volume.value / 100)
  end

  play.mouseClicked do
    if !sound.isPlaying
      sound.setVolume(volume.value / 100)
      sound.play
      play.elt.disabled = true
      pause.elt.disabled = false
      stop.elt.disabled = false
    end
  end    

  pause.mouseClicked do
    if sound.isPlaying
      sound.pause
      play.elt.disabled = false
      pause.elt.disabled = true
      stop.elt.disabled = false
    end
  end

  stop.mouseClicked do
    sound.stop
    play.elt.disabled = false
    pause.elt.disabled = true
    stop.elt.disabled = true
  end

  credit = createDiv('BGM by OtoLogic<br>(CC BY 4.0)')
  credit.position(0, 105)
  credit.style('font-size', '8px')
end

p5.jsリファレンス(参考情報)

[p5.js] (p5.SoundFile).isPlaying

概要

音声が再生中かどうかを判定します。

書式

isPlaying

引数

なし

戻値

true : 音声が再生中である
false : 音声が再生中ではない

備考

関連