私は最近Web開発の学習を開始し、現在、フォルダー内の多数のオーディオファイルを読み取り、ユーザーが聞いたことについてのトランスクリプトを作成できるWebページに取り組んでいます。私は数日前に開始し、phpを介してファイルのリストを取得し、配列をシャッフルすることでランダムファイルを再生(ユーザーに実際に再生させる)することができました(明確にするために、ページが読み込まれるたびにランダムファイルの準備ができています再生されます)。これは正常に機能しているようです。
また、ユーザーが次/前のファイルを聞くことができるボタンを追加したかったのですが、next($array)
行を書くときはいつでもどこでもそれは機能せず、さらに悪いことに、shuffle
機能も機能しなくなります。タグにphpを使用しているためかどうかはわかりませんが、腸内の何かがそう教えてくれます。
私が十分に明確であったかどうかはわかりませんが、助けていただければ幸いです。だからここに私のコードがあります:
<html>
<head>
</head>
<body>
<p align="center">
<button><-</button>
<audio src="./Sound data/AAA2028C4_0.wav" type="audio/wav" align="center" id="RandomAudio" controls="controls">
</audio>
<button name="nextButton" onClick="next()">-></button>
</p>
<script language="JavaScript" type="text/javascript">
<?php
//Scan the sound data folder for files
$dir = './Sound data';
$files = scandir($dir);
$random_file = shuffle($files);
?>;
function load(){
var test = "./Sound data/<?php
//Select random element from files array
echo $files[$random_file];
?>";
//Play a random file
document.getElementById('RandomAudio').src=test;
}
function next(){
var next = "./Sound data/<?php
$next_file = next($random_file);
echo $files[$next_file];
?>";
//Play the next file
document.getElementById('RandomAudio').src=next;
}
window.onload = load;
</script>
<form method="post" action="testecho.php" align="center">
<strong><label>Transcript : </label></strong>
<br>
<textarea name ="transcript" rows="2" cols="40"> </textarea>
<input type="submit" />
</form>
</body>
</html>