Android

最近更新时间:2025-12-23 16:43:42

我的收藏

功能概览

通过背景音乐(BGM)相关接口,可以实现对短视频进行插入背景音/音乐。本文提供背景音乐管理功能说明,包括添加、删除、调整位置、音量、播放速度和区间等操作。

相关接口类

接口类名
描述
TAVEditor
SDK 操作入口类。

接口方法汇总

方法
参数
返回值
说明
addBgm(String path, long startAtVideoTimeUS, long startTimeUS, long duration)
path:音乐路径
startAtVideoTimeUS:在视频中开始的时间(us)
startTimeUS:音乐开始时间(us)
duration:播放时长(us)
int
添加背景音乐并返回 ID
removeBgm(int bgmID)
bgmID:背景音乐 ID
boolean
删除背景音乐
updateBgmPlayOffset(int bgmID, long videoStartTime)
bgmID:背景音乐 ID
videoStartTime:视频位置(us)
void
调整背景音乐在视频中的位置
updateBgmPlayRange(int bgmID, long startTime, long duration)
bgmID:背景音乐 ID
startTime:开始时间(us)
duration:播放时长(us)
void
调整背景音乐播放区间
setBgmVolume(int bgmID, float volume)
bgmID:背景音乐 ID
volume:音量建议范围为0-3f
void
设置单个背景音乐音量
setAllBgmVolume(float volume)
volume:音量建议范围为0-3f
void
设置所有背景音乐音量
getBgmVolume(int bgmID)
bgmID:背景音乐 ID
float
获取背景音乐音量
setBgmSpeed(int bgmID, float speed)
bgmID:背景音乐 ID
speed:播放速度
void
设置背景音乐播放速度
getBgmSpeed(int bgmID)
bgmID:背景音乐 ID
float
获取背景音乐播放速度

相关方法

添加背景音乐

/**
* 添加背景音乐
*
* @param path 音乐文件路径
* @param startAtVideoTimeUS 背景音乐在视频中出现的时间点(微秒)
* @param startTimeUS 背景音乐自身的开始播放时间(微秒)
* @param duration 背景音乐播放时长(微秒)
* @return 背景音乐唯一ID
*/
int bgmId = editor.addBgm(path, startAtVideoTimeUS, startTimeUS, duration);

删除背景音乐

/**
* 删除背景音乐
*
* @param bgmId 背景音乐ID
* @return 是否删除成功
*/
boolean success = editor.removeBgm(bgmId);

调整背景音乐位置

/**
* 调整背景音乐在视频中的位置
*
* @param bgmId 背景音乐ID
* @param videoStartTime 新的视频时间点(微秒)
*/
editor.updateBgmPlayOffset(bgmId, videoStartTime);

调整背景音乐播放区间

/**
* 调整背景音乐播放区间
*
* @param bgmId 背景音乐ID
* @param startTime 新的开始时间(微秒)
* @param duration 新的播放时长(微秒)
*/
editor.updateBgmPlayRange(bgmId, startTime, duration);

调整音量

/**
* 设置单个背景音乐音量
*
* @param bgmId 背景音乐ID
* @param volume 音量值,建议范围: 0-3f
*/
editor.setBgmVolume(bgmId, volume);

/**
* 设置所有背景音乐音量
*
* @param volume 音量值,建议范围: 0-3f
*/
editor.setAllBgmVolume(volume);

/**
* 获取背景音乐音量
*
* @param bgmId 背景音乐ID
* @return 当前音量值
*/
float volume = editor.getBgmVolume(bgmId);

调整播放速度

/**
* 设置背景音乐播放速度
*
* @param bgmId 背景音乐ID
* @param speed 播放速度(1.0=正常速度)
*/
editor.setBgmSpeed(bgmId, speed);

/**
* 获取背景音乐播放速度
*
* @param bgmId 背景音乐ID
* @return 当前播放速度
*/
float speed = editor.getBgmSpeed(bgmId);

使用示例

// 添加背景音乐(从视频第2秒开始,播放音乐前3秒的内容,持续4秒)
int bgmId = editor.addBgm("/sdcard/music.mp3",
2_000_000, // 视频中开始时间
0, // 音乐开始时间
4_000_000); // 播放时长

// 调整音量到70%
editor.setBgmVolume(bgmId, 0.7f);

// 调整播放速度到1.5倍
editor.setBgmSpeed(bgmId, 1.5f);

// 在视频中的第5s开始播放音乐
editor.updateBgmPlayOffset(bgmId, 5_000_000);

// 调整音乐播放区间(从音乐第1秒开始,播放2秒)
editor.updateBgmPlayRange(bgmId,
1_000_000, // 开始时间
2_000_000); // 播放时长

// 删除背景音乐
boolean success = editor.removeBgm(bgmId);

// 获取当前ID背景音乐音量
float currentVolume = editor.getBgmVolume(bgmId);