我将我的歌曲存储在数据库中作为bytes [].我如何在<audio>标签中使用这些.
所以这样的事情.我是否需要先将字节转换为其他内容?我不确定.
foreach (var item in Model)
{
<audio controls>
<source src=@item.SongBytes type="audio/mp3"/>
</audio>
}
Run Code Online (Sandbox Code Playgroud) 如果我mp3: "/Music/StreamUploadedSongs/1"在以下代码中使用:
var player = new $("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
mp3: "/Music/StreamUploadedSongs/1",
});
},
cssSelectorAncestor: "#jp_container_1",
swfPath: "~Scripts/Jplayer/jquery.jplayer.swf",
useStateClassSkin: true,
autoBlur: false,
keyEnabled: true
}
});
Run Code Online (Sandbox Code Playgroud)
这就是它的样子,你可以看到jplayer没有正确地移动时间(它们是重叠的)并且搜索/播放栏也不起作用,尽管仍然可以播放歌曲:
Html标记:
<audio id="jp_audio_0" preload="metadata" src="http://localhost:6060/Music/StreamUploadedSongs/1"></audio>
音乐控制器:
public ActionResult StreamUploadedSongs(int id)
{
byte[] song = db.UploadedSongs.Where(x => x.Id == id).FirstOrDefault().SongBytes;
return File(song, "audio/*");
}
Run Code Online (Sandbox Code Playgroud)
如果我改为将mp3属性更改为:mp3: "http://www.jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3"那么它可以完美地工作.
var player = new $("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
mp3: "http://www.jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3",
});
},
cssSelectorAncestor: "#jp_container_1",
swfPath: "~Scripts/Jplayer/jquery.jplayer.swf",
useStateClassSkin: true, …Run Code Online (Sandbox Code Playgroud) 如何从 C# 调用 Jquery 函数?我曾尝试使用 registerStartupScript,但我不明白它是如何工作的,而且无论如何它都不起作用。它根本不进入jquery函数
Page page = new Page();
ScriptManager.RegisterStartupScript(page, this.GetType(), "script", "publishDialog();", true);
Run Code Online (Sandbox Code Playgroud)
Page page = new Page();
ScriptManager.RegisterStartupScript(page, this.GetType(), "script", "publishDialog();", true);
Run Code Online (Sandbox Code Playgroud)
function publishDialog() {
$(".alert").dialog({
modal: true,
});
}
Run Code Online (Sandbox Code Playgroud)
编辑:
如果用户单击发布按钮并且没有选择任何文件,那么我想显示 jquery ui 对话框弹出框,告诉他们选择一个文件。我需要这一行uploadedSongs.Count(x => x.IsSelected) == 0来检查他们是否没有选择文件。他们无论如何我可以把它放到我的jquery函数中吗?
[HttpPost]
public ActionResult Publish(IEnumerable<UploadedSong> uploadedSongs)
{
Page page = new Page();
if (uploadedSongs.Count(x => x.IsSelected) == 0)
{
ScriptManager.RegisterStartupScript(page, this.GetType(), "script", "publishDialog();", true);
return View("../Users/UserProfile", uploadedSongs);
}
else
{
return RedirectToAction("../Home/Index");
}
}
Run Code Online (Sandbox Code Playgroud)