在电脑记事本中编写一个JSP 页面 selectMusic.jsp, 该页面使用 select(下拉列表)提供一些歌曲名,用户选择一些歌曲名,单击提交键提交给当前页面,然后当前页播放用户选择的音乐(音频文件保存在web服务目录的\music子目录中)
时间: 2024-11-13 15:39:30 浏览: 19
在电脑记事本中编写`selectMusic.jsp`页面,我们可以利用HTML `<select>`元素构建下拉列表,允许用户选择歌曲。当用户点击提交按钮,我们会发送一个POST请求到同一个页面,以便播放所选的音乐。这里是一个基础的示例:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.io.*, java.net.URL" %>
<!DOCTYPE html>
<html>
<head>
<title>音乐选择</title>
</head>
<body>
<h2>请选择一首歌:</h2>
<form action="#" method="post">
<select name="selectedSong" multiple size="5">
<%
URL musicDir = new URL("file:/path/to/music/");
File[] songs = musicDir.getFile().listFiles((dir, name) -> name.endsWith(".mp3")); // 替换为实际的音乐目录路径
if (songs != null) {
for (File song : songs) {
String songName = song.getName();
out.print("<option value='" + songName + "'>" + songName + "</option>\n");
}
}
%>
</select>
<br>
<input type="submit" value="播放选中的音乐">
</form>
<%@ page import="javax.sound.sampled.AudioSystem, javax.sound.sampled.Clip" %>
<%
String selectedSongs = "";
if (request.getParameter("selectedSong") != null) {
selectedSongs = request.getParameterValues("selectedSong").toString();
selectedSongs = selectedSongs.replaceAll("\\s+",""); // 过滤空格
}
Clip clip = null;
try {
List<String> songsList = Arrays.asList(selectedSongs.split(","));
for (String song : songsList) {
clip = AudioSystem.getClip();
URL url = new URL("file:/path/to/music/" + song); // 替换为实际的音乐文件路径
clip.open(AudioSystem.getAudioInputStream(url));
clip.start();
Thread.sleep(1000); // 播放每个音乐暂停一下
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (clip != null) {
clip.close();
}
}
%>
</body>
</html>
```
阅读全文