如何使用javascript在asp.net核心mvc中播放音频曲目?

如何使用javascript在asp.net核心mvc中播放音频曲目?,javascript,c#,asp.net-core,Javascript,C#,Asp.net Core,我想在我的NetCore应用程序中播放音频曲目。我已经用js脚本在示例html页面中测试了类似的代码,它可以工作 Play 1 但如果我在这样一个真实的应用程序中尝试同样的方法: 控制器方法: public IActionResult PlayTrack() { 字符串路径=@“C:\Users\User\source\repos\WebApplication1\Essential\Audio”; 字符串audioPath=“/Audio/”; 列表音乐文件=新列表(); 字符串[]mp3Fi

我想在我的NetCore应用程序中播放音频曲目。我已经用js脚本在示例html页面中测试了类似的代码,它可以工作

Play 1
但如果我在这样一个真实的应用程序中尝试同样的方法:

控制器方法:

public IActionResult PlayTrack()
{
字符串路径=@“C:\Users\User\source\repos\WebApplication1\Essential\Audio”;
字符串audioPath=“/Audio/”;
列表音乐文件=新列表();
字符串[]mp3Files=Directory.GetFiles(路径“*.mp3”,SearchOption.TopDirectoryOnly);
foreach(MP3文件中的var项)
{
string name=audioPath+Path.GetFileName(项);
音乐文件。添加(名称);
}
返回视图(音乐文件);
}
视图:
@模型IEnumerable
@{
ViewData[“标题”]=“播放曲目”;
}
@ViewData[“轨迹”]
@foreach(模型中的字符串音乐文件)
{

@音乐文件
玩

} javascript: ```javascript 函数播放音乐(音乐文件){ 让音频=新音频(音乐文件); 音频播放(); }
什么都不管用! 浏览器控制台显示:

HTTP加载失败,状态为404。加载媒体资源>失败

应用程序控制台显示:

信息:Microsoft.AspNetCore.Hosting.Internal.WebHost[1] 请求启动HTTP/1.1get-HDMI-256.mp3 信息:Microsoft.AspNetCore.Hosting.Internal.WebHost[2] 请求在0.257ms 404内完成


我做错了什么

C:\Users\User\source\repos\WebApplication1\Essential\Audio
–您不能在那里使用某些内部路径。路径必须是通过web应用程序提供的,以便可以从外部访问。例如,将文件放在
wwwroot
文件夹中的某个位置。这是在发布到另一台计算机后进行的吗?应用程序的目录树是什么样子的
SolutionName\ProjectName\Audio\AudioFiles?
您使用的是无法访问的外部路径。您应该使用
\u env.WebRootPath
并检查在
Configure
方法中调用
app.UseStaticFiles()
是否有效
function playTrackStrFld(path) {
    var audio = new Audio(path);
    audio.play();
}