-
-
Notifications
You must be signed in to change notification settings - Fork 63
Audio player machine #47
Comments
Very nice! Would certainly accept a PR on this, we can work on it together in the PR if you like. Any questions before you get started? |
I'll open a PR then and we can start from there. I'd love to receive some feedback about the machine and improve it to be the most reliable possible. When I created it I was imagining an audio control machine. I don't know if we can make this same machine a video control machine as well. Anyway, I'll open the PR and start to work on it as soon as possible so we can add this new machine to the project. |
They're likely to be nearly identical - except for some other controls videos may have like subtitle settings, quality controls etc. But playing/pausing/seeking etc should be identical |
I'm wondering if there should be a meta-player, where common things like 'playing/pausing/seeking' are in 1 machine, & the other machines call that? Or said meta-player is an actor? Not only there is audio & video, but slideshows, animation, etc. |
Let's not focus on the abstraction layer for this - let's focus on directly tying the state machine to the implementation. It makes for a better learning resource that way. |
I came here looking to 'borrow' a video machine ;)
How feature-rich do you intend this to be? I think parallel or actor machines to handle a seek bar, volume control, speed, captions, etc would be a good idea. In the end they should be modular or easy to un-include, since not all players have all features. |
A true media player has many sub-parts. Here is the volume machine:
|
I'm creating a finite state machine for handling the audio player component of the new version of Podhouse and I'd like to contribute to this project.
Here's the link for the visualizer of the Audio player machine
There's a lot of space for improvement here but so far I think this is a good starter.
I few ideas as next steps for this state machine:
audio
element on context.volume
,rate
,seek
(this one might be complex),mute
, andloop
on context.The text was updated successfully, but these errors were encountered: