来自 HLS 源路径的 laravel 中的音频持续时间

Audio duration in laravel from HLS src path

我正在做一个 Laravel 项目,大量音轨在数据库中更新,时间 00:00:00 作为持续时间并生成 HLS URL。 现在我必须编写脚本以通过使用 HLS 路径获取音频持续时间。

是否有可能在 Laravel 中实现相同的目标?有参考资料吗?

终于找到了解决方法,

我添加了一个测试模板路径来迭代视频和音频标签 我从模型文件

中获取了 id 和 URL
$albumModel = $this->videos->selectRaw('videos.id , videos.video_url')->where('is_active', 1)->paginate(50)->toArray();

然后在模板文件中循环

<video width="100" height="100" id="{{ 'myAudio' + audio.id }}" controls>
        <source [src]="audio.video_url" type="video/mp4">
      </video>
      {{ myFunction(audio.id) }}

在 javascript 文件中添加了查找持续时间和控制台更新查询日志的功能,

 myFunction = (id) => {
    
    var  audioCurrentTime = (<HTMLInputElement>document.getElementById('myAudio' + id));
    var e = audioCurrentTime.duration;
    var h = Math.floor(e / 3600).toString().padStart(2,'0');
    var m = Math.floor(e % 3600 / 60).toString().padStart(2,'0');
    var s = Math.floor(e % 60).toString().padStart(2,'0');

    var dttr =  h + ':' + m + ':' + s;
    console.log("UPDATE `videos` SET `video_duration` = '" + dttr + "'  WHERE `videos`.`id` = " + id + ";")
  }

然后从控制台日志和 运行 复制更新查询到 MySQL 服务器。 顺便说一句,我解决了我的问题。