来自 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 服务器。
顺便说一句,我解决了我的问题。
我正在做一个 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 服务器。 顺便说一句,我解决了我的问题。