Yii - 每个数据行中带有音频播放器的 Gridview

Yii - Gridview with audio player in each data row

我有一个显示存储在数据库模型中的音频路径的 gridview,然后在附加到播放按钮的路径中抓取它的文件以简单地播放音频文件。

代码如下:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],

        //'id',
        'nome',
        //'ficheiro',
        [
            'label' => '',
            'format' => 'raw',
            'value'=> function($data) { return Html::a('&#9658;',$data->ficheiro); },
        ],

        ['class' => 'yii\grid\ActionColumn', 'template' => ''],
    ],
]); ?>

但现在我改变了主意,想在 gridview 中实现,而不是播放按钮,某种带有按钮的小部件或音频播放器,也许还有听过的文件的百分比。

就像 spotify 或类似的。

试图嵌入 value => 小部件的字段:yii2-jplayer-widget 指向一个音频文件,但它不接受它,并抛出错误。

这是在 Gridview 中嵌入播放器小部件的代码(没有用):

'value'=> AudioJs::widget(['files'=>'1.mp3']),

它抛出错误:变得未知属性:app\models\Faixas::

我感谢任何帮助我解决这个问题的想法。

为什么不 html5 音频播放器

  'value' => function ($model) {                      
              return "<audio controls='controls'>
                        <source src='" . $model->ficheiro  .   "' type='audio/mp3' />
                       </audio>" ;
            },