1234567891011121314151617181920212223242526272829303132333435 |
- from nicegui import ui
- from . import doc
- @doc.demo(ui.audio)
- def main_demo() -> None:
- a = ui.audio('https://cdn.pixabay.com/download/audio/2022/02/22/audio_d1718ab41b.mp3')
- a.on('ended', lambda _: ui.notify('Audio playback completed'))
- ui.button(on_click=lambda: a.props('muted'), icon='volume_off').props('outline')
- ui.button(on_click=lambda: a.props(remove='muted'), icon='volume_up').props('outline')
- @doc.demo('Control the audio element', '''
- This demo shows how to play, pause and seek programmatically.
- ''')
- def control_demo() -> None:
- a = ui.audio('https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3')
- ui.button('Play', on_click=a.play)
- ui.button('Pause', on_click=a.pause)
- ui.button('Jump to 0:30', on_click=lambda: a.seek(30))
- @doc.demo('Event subscription', '''
- This demo shows how to subscribe to some of the [available events](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#events).
- ''')
- def event_demo() -> None:
- a = ui.audio('https://cdn.pixabay.com/download/audio/2022/02/22/audio_d1718ab41b.mp3')
- a.on('play', lambda _: ui.notify('Started'))
- a.on('pause', lambda _: ui.notify('Paused'))
- a.on('ended', lambda _: ui.notify('Completed'))
- doc.reference(ui.audio)
|