使用asp.net播放mp3歌曲
本文关键字:mp3 歌曲 播放 net asp 使用 | 更新日期: 2023-09-27 18:07:01
我正在开发一个在线听音乐网站,在这个网站上,我想根据gridview的用户选择播放歌曲。现在我使用flash对象播放mp3和视频文件,这是运行良好,但它的静态路径。如何在flash对象上动态传递选定歌曲的文件URL。
等待您的回复。
使用flashvars(需要重新加载页面/SWF)
最简单的方法是将URL作为flashvar传入,例如通过object/embed标签中的SWF文件的querystring:
MyPlayer.swf?url=/path/to/song.mp3
/path/to/song.mp3
当然可以通过一些服务器端逻辑来打印。
在Flash中,您可以使用根目录的LoaderInfo
实例访问该变量的值:
var url : String = root.loaderInfo.parameters['url'];
如果你想在没有指定flashvar的情况下提供一个默认值,这对开发来说特别好,你可以通过使用||
操作符来实现。
var url : String = root.loaderInfo.parameters['url'] || 'default.mp3';
如果存在,则使用指定的URL,否则退回到使用default.mp3.
Using ExternalInterface &Javascript h1> 果你不想重载页面,使用ExternalInterface为你的Flash播放器设置一个javascript接口,例如:
if (ExternalInterface.available) {
ExternalInterface.addCallback('playUrl', playUrl);
}
function playUrl(url : String) : void {
// TODO: Add playback code here, e.g. using new Sound(url);
}
if (ExternalInterface.available) {
ExternalInterface.addCallback('playUrl', playUrl);
}
function playUrl(url : String) : void {
// TODO: Add playback code here, e.g. using new Sound(url);
}
然后,从Javascript中,你可以这样做:
var swf = document.getElementById('idOfSwfEmbed');
swf.playUrl('http://example.com/path/to/song.mp3');
这将调用ActionScript方法playUrl()
使用由ExternalInterface.addCallback()
设置的javascript API。
我不知道。net,所以你需要弄清楚自己如何调用playUrl()
javascript方法当一首歌被选中在你的GridView
如果您使用<object />
标签将*.swf添加到页面:
添加以下标签:
<object ...>
<param name="flashvars" value="path=<%# YOUR_PATH; %>">
</object>
然后在SWF内部:
var path:String = root.loaderInfo.parameters.path;
朋友们好,我已经得到了动态播放歌曲的答案。这是我的代码。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("Play Now"))
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = gridCalls.Rows[index];
string songname = row.Cells[5].Text; // second column in the sql server database
StringBuilder str = new StringBuilder();
str.Append("<object width='300px' height='300px'>");
str.Append("<param name='autostart' value='true'>");
str.Append("<param name='src' value='songs/" + songname + "'>");
str.Append("<param name='autoplay' value='true'>");
str.Append("<param name='controller' value='true'>");
str.Append("<embed width='300px' height='300px' src='songs/" + songname + "' controller='true' autoplay='true' autostart='True' type='audio/wav' />");
str.Append("</object>");
LoadPlayer.Text = str.ToString();//here loadplayer is label control
}
}