& lt; cfmediaplayer>如何自动播放下一个曲目
<cfmediaplayer> how to automatically play next track
我一直在为我的网站创建一个弹出式播放器,用户可以在其中播放其他用户上传到网站的音乐播放列表。然而,目前我不得不手动点击每个轨道来播放它,我想知道是否有人设法创建一个<cfmediaplayer>
,自动播放播放列表中的下一首歌曲。它知道当前播放哪首歌的方式是在url变量中定义的,该变量发送用户单击的曲目名称,然后调用数据库以查看是否可以找到匹配,然后使用源输出我存储的曲目的位置。我将张贴代码,以便更清楚地了解我正在做的事情:
<cfquery datasource="#mydatabase#" name="getsongs">
Select *
From artists, songs
Where artist_id = song_artistid
</cfquery>
<cfif IsDefined("URL.song")>
<cfquery datasource="#mydatabase#" name="playsong">
Select *
From songs
Where artist_id = song_artistid
And song_name = '#URL.song#'
</cfquery>
</cfif>
<div style="margin: 0 auto; width: 800px;>
<div style="width: 300px; float: left; overflow: scroll;">
<cfoutput query="getartists">
<a href="popup_player.cfm?song=#song_name#>#artist_name# - #song_name#</a>
</cfoutput>
</div>
<cfif IsDefined("URL.song")>
<div style="width: 500px; float: right;">
<cfoutput>
<cfmediaplayer name="song" source="artists/songs/#playsong.song_location#" autoplay="yes" height="500" width="500"></cfmediaplayer>
</cfoutput>
</div>
</cfif>
</div>
如您所见,我有一个滚动div,其中列出了用户播放列表中所有的歌曲。通过点击歌曲,它会更新媒体播放器中播放的曲目。我想知道是否有无论如何下一个链接可以自动点击当歌曲完成,也许有一种方式,如果一个变量已被设置为重复播放列表,当它到达最后一个轨道它回到第一个再次。
请参阅CFMEDIAPLAYER的参考指南(http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSE66DB0CD-E16D-49e7-AAEE-F51F9580554E.html)。它支持在赛道结束时运行JavaScript。你可以用它来自动调用下一个曲目。
可以在歌曲结束时运行javascript。添加到当前代码中:
<cfmediaplayer onComplete=" YOUR_PLAY_NEXT_FUNCTION" name="song"
source="artists/songs/#playsong.song_location#" autoplay="yes"
height="500" width="500"></cfmediaplayer>
从注释中添加
我还没有试过,但这对你有用吗?
var i = 0; // This should be the current song_no
$("#button").on('click', function(){
// Adds +1 to the current song number
i++
// Create a variable using the standard url + the added song-number
var curr_song = "artists/songs/#playsong.song_location#"+i;
// Changes the attribute to the new song-url
$('cfmediaplayer').attr("name",curr_song);
});
好吧,我从来没有使用过cfmediaplayer,但这段伪代码应该可以让你在你需要的地方。
这些是我使用的资源。
- 在ColdFusion中使用JavaScript和CFMEDIAPLAYER标签动态启动和停止视频
- ColdFusion.Mediaplayer.setSource
- cfmediaplayer
<cfquery ...>
Select
songUrl
from
songs
</cfquery>
<!--- build your coldFusion array of song URLs --->
<cfset urlList = valueList(query.songURL)>
<cfset urlArray = listToArray(urlList)>
<script>
<cfoutput>
#toScript(urlArray)#
var songIndex = #query.currentRow-1#; <!--- or url.currentRow, whatever you're using --->
</cfoutput>
startNext(){
songIndex++;
if(songIndex <= urlArray.length){
ColdFusion.Mediaplayer.setSource('mediaPlayerName', urlArray[songIndex]);
ColdFusion.Mediaplayer.startPlay('mediaPlayerName');
}
}
</script>
相关文章:
- 我可以使此幻灯片图像自动播放吗?
- 如何使jquery自动播放
- 在移动设备中自动播放视频
- 需要帮助自定义幻灯片自动播放
- 在iframe中阻止网站中的vimeo自动播放
- 使用addevent时,VideoJs的自动播放未被触发
- 为简单的jQuery滑块添加自动播放功能
- iframe src 使用现有值在单击时添加自动播放=true 参数
- 如何降低html视频的自动播放音量
- 如何在向下滚动时停止自动播放
- 自动播放youtube视频的Javascript
- 10秒后停止自动播放-环岛
- 如何在HTML5画布上自动播放短视频剪辑
- 在按钮上单击暂停HTML视频(正在自动播放)
- 检测iOS移动设备的JavaScript比自动播放音频
- 我怎么能自动使用JavaScript函数来自动播放幻灯片呢
- 停止在Chrome上自动播放嵌入的Javascript歌曲
- Javascript自动播放声音文件,单击其中一个按钮时停止
- & lt; cfmediaplayer>如何自动播放下一个曲目
- 如何在spotify中自动播放热门曲目