audio op website

Status
Niet open voor verdere reacties.

shidan

Gebruiker
Lid geworden
8 jan 2007
Berichten
351
ik heb een kleine site gemaakt waarop muziek moet worden gespeeld vanuit een bestand op de C.
ik kan deze aansturen met deze code:

Code:
<source src="C:\muziek\NaamLiedje.mp3">

in de map 'muziek' op de C schijf staan diverse nummers (en deze veranderen ook altijd)
bestaat er een mogelijkheid dat het programma alle liedjes in de map 'muziek' kan afspelen
iets in de trend van:

Code:
<source src="C:\muziek\*.mp3">

alvast met dank
 
Ik neem aan dat het een lokale en dus en niet publiekelijke website is? Helaas kan HTML geen acties op het file system van schijf uitvoeren.

Waarom verandert het pad eigenlijk?
En draai je een lokale webserver? Dan zijn er mogelijkheden binnen PHP.
 
het draait idd op een lokale server.
de bedoeling is een timer te laten lopen (deze werkt al) met muziek erbij

weet jij toevallig hoe het dan kan met php?

alvast met dank
 
ik bekijk dit even, als het muziek uit een map kan halen is het dat wat ik zoek :)

thnx
 
Ik maak dit nog even duidelijk...
Helaas kan HTML geen acties op het file system van schijf uitvoeren.

Je zult dus als voorkeur met PHP moeten werken, en daar een loop moeten maken.
Code:
<?php
$i = 0;
foreach (glob("/muziek/*.mp3") as $filename) {
     $i++; // verhoog $1 voor de data-track-number
    echo '<source src="/muziek/'.$filename.'" data-track-number="'.$i.'" />';
}
?>

Je zult je muziek dan wel in je web-root moeten plaatsen.
Of je webserver aan je Mijn Muziek map koppelen, wat ik eigenlijk afraad.
 
Laatst bewerkt:
Ik pak mijn glazen bol er even bij.

Hm.. die is ietwat stoffig.

Kan je wat concreter zijn dan een enkel zinnetje dat het niet lukt?
Een paar dingen:
- Heb je een lokale webserver draaien?
- Heb je daar PHP-ondersteuning op?
- Zo ja, heb je het PHP-bestand met bovenstaande code al aangemaakt?
 
Laatst bewerkt:
het is een html site die draait op een lokale server (pc)
php draait erop.
het gaat om een timer waar ik muziek bij wil kunnen afspelen (van een map 'muziek' op de c shijf)
als je wilt kan ik het bestand doormailen
 
Heb je het script van Codepen.io al geprobeerd? Want die laat een playlist zien wat jij volgens mij wilt.
Heb je het PHP-script ook geprobeerd in combinatie met de HTML van Codepen.io?
Heb je de muziek ook in je webroot gezet van je webserver?
 
de muziek zet ik gewoon in een map op de c schijf.
de code wil niet lukken
 
kan je wat concreter zijn, en wat minder geheimzinnig? ;)

Waar loop je op vast?
Wat heb je geprobeerd?
Wat gebeurt er?
 
ik probeerde eerst op een banco html file.
dit is wat ik heb maar werkt niet
Code:
<!DOCTYPE html> 
<html lang="en"> 

<div class="alert text-center" role="alert">
<i class="fas fa-volume-mute pause-btn" id="volume-toggler"></i>
<span id="song">DaBaby - BOP</span>
<i class="fas fa-forward forward"></i>
</div>

<audio id=”audio” preload=auto>
<source src=”” type=”audio/mp3”> Your browser does not support the audio element.
</audio>

let song = document.getElementById(‘audio’);
let title = document.getElementById(‘song’);
let numberOfSong = 0;
let playlist = [ [‘path-to-mp3’, ‘artist info’], [‘path-to-mp3’, ‘artist-info’]];


function play(){
song.play();
}
$('.pause-btn').click(() => {
play();
})

$(‘.pause-btn’).click(() => {
let pauseOrPlay = $(‘.pause-btn’);
if(pauseOrPlay.hasClass(‘fas fa-volume-up’) || pauseOrPlay.hasClass(‘fa-volume-up fas’) {
//do something
}
})

$(‘.pause-btn’).click(() => {
let pauseOrPlay = $(‘.pause-btn’);
if(pauseOrPlay.hasClass(‘fas fa-volume-mute’) || pauseOrPlay.hasClass(‘fa-volume-mute fas’) {
if(song.duration > 0){
playCurrentSong();
} else {
next();
}
}
})

$(‘.pause-btn’).click(() => {
let pauseOrPlay = $(‘.pause-btn’);
if (pauseOrPlay.hasClass(‘fas fa-volume-mute’) || pauseOrPlay.hasClass(‘fa-volume-mute fas’)) {
$(‘.pause-btn’).toggleClass(‘fas fa-volume-up fas fa-volume-mute’);
if (song.duration > 0) {
playCurrentSong();
} else {
next();
}
} else if (pauseOrPlay.hasClass(‘fas fa-volume-up’) || pauseOrPlay.hasClass(‘fa-volume-up fas’)) {
$(‘.pause-btn’).toggleClass(‘fas fa-volume-up fas fa-volume-mute’);
pauseSong();
}
});

$(‘.forward’).click(() => {
next();
});

function next() {
if (numberOfSong === playlist.length) {
numberOfSong = 0;
}
song.src = playlist[numberOfSong][0];
title.innerHTML = playlist[numberOfSong][1];
numberOfSong++;
song.load();
song.play();
}

function pauseSong() {
song.pause();
}
function playCurrentSong() {
song.play();
}

<div class=”progress”>
<div class=”progress-bar” role=”progressbar” aria-valuenow=”30" aria-valuemin=”0" aria-valuemax=”100"></div>
</div>

song.addEventListener(‘timeupdate’, onLoadProgress);

function onLoadProgress(){
var progress = parseInt(((song.currentTime / song.duration) * 100), 10);
var progressToString = ‘’ + progress + ‘%’;
$(‘.progress-bar’).attr(‘aria-valuenow’, progressToString);
$(‘.progress-bar’).css(‘width’, progressToString);
}

</body> 
</html>

mod. html in code tags gezet.
 
Laatst bewerkt door een moderator:
Waar is de body? Richt je liever eerst op het HTML/JavaScript.

Zet het aub eens tussen code-tags met het #-knopje in de editor.

En heb je al naar die codepen.io link gekeken?
 
Laatst bewerkt:
met deze ben ik aan het proberen.
lukt al deels maar nu moet ik nog de bestanden uit de C file 'muziek' moeten kunnen inlezen
 

Bijlagen

  • audioPlayer.zip
    1,2 MB · Weergaven: 12
Dat kan met dat PHP-script.
JavaScript op de client kan voor zover ik weet geen hele mappen uitlezen. Enkel een bestand aanroepen via het file
:// protocol.
 
Laatst bewerkt:
thnx, dan zoek ik verder met php
Die code heb ik al gegeven. Dus probeer het eens.
Je kan enkel bestanden in de webroot gebruiken.
 
Je kan in HTML/Javascript géén *.mp3 opvragen omdat Javascript geen directe koppeling heeft met het besturingssysteem.
Handmatig kan je in HTML/Javascript op 2 manieren een playlist opgeven.

1. Hard-coded in de html of in Javascript.
2. Met een <input> in de html en met wat Javascript hiervoor.
Code:
<input type="file" multiple>

Het meest logisch is de oplossing die php4u je hierboven gaf.
Bijvoorbeeld met xampp, dan heb je alles wat je nodig hebt.
Dan zoek je een javascript mp3 player met een playlist die in PHP wordt gemaakt (die kan wel een directory lezen)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan