首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Yii2 - Gridview播放下一首歌

Yii2 - Gridview播放下一首歌
EN

Stack Overflow用户
提问于 2015-08-09 09:56:10
回答 1查看 625关注 0票数 0

我在我的Yii2应用程序中有一个Gridview,它为存储在文件夹中的每个mp3音频文件加载一个HTML5音频播放器。Gridview的每一行都有自己的音频播放器。这是因为每个mp3文件的文件路径都存储在数据库中.

下面是:

代码语言:javascript
运行
复制
<?= 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' => ''],
    ],
]); ?>

在一个文件播放结束时是否有一种方法可以激活下一行音频播放器并开始播放下一个文件?

我已经搜索过,但只遇到了在同一个音频播放器文件播放列表中播放下一个文件的解决方案。不要用自己的文件激活下一个音频播放器。

非常感谢您提供了可能的解决方案.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-09 12:14:36

也许这个片段能帮到你:

代码语言:javascript
运行
复制
$(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();
    });
});

阅读有关音频元素可用的方法、属性和事件的音频参考

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31902974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档