我在我的Yii2应用程序中有一个Gridview,它为存储在文件夹中的每个mp3音频文件加载一个HTML5音频播放器。Gridview的每一行都有自己的音频播放器。这是因为每个mp3文件的文件路径都存储在数据库中.。
下面是:
<?= GridView::widget([
'dataProvider' => $dataProvider,
//'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
//'id',
'nome',
//'ficheiro',
[
'label' => '',
'format' => 'raw',
'value'=> function ($data){
return "<audio controls='controls'>
<source src='" . $data->ficheiro . "' type='audio/mp3' />
</audio>";
},
],
//'dummy1',
//'dummy2',
// 'dummy3',
// 'dummy4',
// 'dummy5',
['class' => 'yii\grid\ActionColumn', 'template' => ''],
],
]); ?>
在一个文件播放结束时是否有一种方法可以激活下一行音频播放器并开始播放下一个文件?
我已经搜索过,但只遇到了在同一个音频播放器文件播放列表中播放下一个文件的解决方案。不要用自己的文件激活下一个音频播放器。
非常感谢您提供了可能的解决方案.
发布于 2015-08-09 12:14:36
也许这个片段能帮到你:
$(function(){
var audio = $('audio');
audio.on('ended', function(){
endedTrackIndex = audio.index(this);
if((endedTrackIndex + 1) >= audio.size()) {
return true;
}
nextTrack = audio.get(endedTrackIndex + 1);
nextTrack.play();
});
});
阅读有关音频元素可用的方法、属性和事件的音频参考
https://stackoverflow.com/questions/31902974
复制相似问题