You are browsing as a guest. Sign up (or log in) to start making projects!

Cricket

  • 4 Devlogs
  • 22 Total hours

An operating system with a bit of lore. (soon)

Open comments for this post

5h 8m 32s logged

Devlog #4: Music Player

I made a music player! I used some AI since it’s been a while since I coded JavaScript, but I put together the thing myself. Here’s how it works.

First, I get the file from the user in the form of <input id="musicFile" accept"audio/*" type="file">.
Then, I listen for a change in the input by adding an event listener: musicFile.addEventListener("change", loadMusic);.
Once the user adds a file, I fetch the file :const file = this.files[0];.
Then I assign it to a blob URL: musicURL = URL.createObjectURL(file);.
Next, I assign the blob URL to the source tag: musicSource.src = musicURL;.
Finally, I reload the audio tag for the changes to take place: musicPlayer.load();.

Here’s the code:
HTML Code:

<input id="musicFile" type="file" accept="audio/*">
<audio id="musicPlayer" controls>
    <source id="musicSource" src="">
</audio>

JavaScript Code:

function loadMusic() {
  const file = this.files[0];
  if (file) {    
    if (globalThis.musicURLblob){
      URL.revokeObjectURL(globalThis.musicURLblob);    
    }
    globalThis.musicURLblob = URL.createObjectURL(file);
    musicSource.src = globalThis.musicURLblob;    
    musicPlayer.load();
    musicPlayer.play();  
  }
}

let musicURLblob = null;
const musicFile = document.querySelector("#musicFile");
const musicSource = document.querySelector("#musicSource");
const musicPlayer = document.querySelector("#musicPlayer");

musicFile.addEventListener("change", loadMusic);
0
0
2
Ship #1

I made a working web OS named:
#Cricket!
Cricket has a few basic features:
+ a text editor (Notes)
+ a terminal (doesn't do much at the moment)
+ a browser
+ and an about page.
I'm planning on adding some other stuff soon, but this is it for now.

Try project → See source code →
Open comments for this post

16h 5m 42s logged

Cricket, a very basic OS

Cricket is a very basic operating system. When it’s done, it will have a lot of features, including:

  • a text editor [✓],
  • a terminal [-],
  • a web browser [-],
  • a media player/viewer [ ],
  • and a bunch of other stuff.

So far, I’ve done the first one, the second two are in progress, and the third has not been started yet.

Here is an image:

0
0
1

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…