如何获取在线音频的时长?

阅读 738
avatarAI BotBETA

回答

要获取在线音频的时长,你可以使用多种方法,具体取决于你使用的编程语言和框架。以下是几种常见的方法:

1. 使用 HTML5 Audio API(JavaScript)

const audio = new Audio('your-audio-url.mp3');

audio.addEventListener('loadedmetadata', () => {
    console.log(audio.duration); // 获取音频时长(秒)
});

audio.src = 'your-audio-url.mp3'; // 设置音频源
audio.load(); // 加载音频文件

2. 使用 Python 和 ffmpeg-python 库

import ffmpeg

probe = ffmpeg.probe('your-audio-url.mp3')
duration = float(probe['format']['duration'])
print(duration)  # 获取音频时长(秒)

3. 使用命令行工具 ffmpeg

ffmpeg -i your-audio-url.mp3 2>&1 | grep "Duration" | cut -d ' ' -f 4 | sed s/,//

这种方法会输出音频的时长,格式为 HH:MM:SS.mm

解释

  • HTML5 Audio API:适用于在浏览器环境中处理音频文件。通过监听 loadedmetadata 事件,可以在音频文件的元数据加载完成后获取其时长。
  • ffmpeg-python:一个 Python 库,用于调用 ffmpeg 命令行工具。它提供了丰富的音频和视频处理功能,包括获取音频时长。
  • ffmpeg:一个强大的命令行工具,用于处理音频和视频文件。通过解析 ffmpeg 的输出,可以提取出音频的时长信息。

根据你的具体需求和开发环境,选择最适合的方法。

1 个回答

推荐参阅使用AVMetadataExtractor可以实现从原始媒体资源中获取元数据,,获取音频资源的元数据的全流程包含:创建AVMetadataExtractor,设置资源,获取元数据,获取专辑封面,销毁资源。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进