我有一个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或类似的东西。
试图嵌入为小部件的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>" ;
},
关于audio - Yii-Gridview在每个数据行中都有音频播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31503840/