如何使用javascript在asp.net核心mvc中播放音频曲目?
我想在我的NetCore应用程序中播放音频曲目。我已经用js脚本在示例html页面中测试了类似的代码,它可以工作如何使用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
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();
}