我有一个gridview,显示存储在数据库模型中的音频路径,然后在附加到播放按钮的路径中抓取它的文件,以便只播放音频文件。
以下是代码:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
//'id',
'nome',
//'ficheiro',
[
'label' => '',
'format' => 'raw',
'value'=> function($data) { return Html::a('►',$data->ficheiro); },
],
['class' => 'yii\grid\ActionColumn', 'template' => ''],
],
]); ?>
但是现在我改变了主意,想要在gridview内部实现,而不是播放按钮,某种带按钮的小部件或音频播放器,可能还有听过的文件百分比。
就像spotify或类似。
试图嵌入为值=&gt;小部件的字段:yii2-jplayer-widget指向音频文件,但它不接受它,并抛出错误。
以下是在Gridview中嵌入播放器小部件的代码(不起作用):
'value'=> AudioJs::widget(['files'=>'1.mp3']),
它抛出错误:获取未知属性:app \ models \ Faixas ::
感谢任何有助于我解决这个问题的想法。
答案 0 :(得分:1)
为什么不是html5音频播放器
'value' => function ($model) {
return "<audio controls='controls'>
<source src='" . $model->ficheiro . "' type='audio/mp3' />
</audio>" ;
},