【Java】可指定时间播放音频噪声

【诉求】

A是一段音频,它有个长度是9秒,A_2就是播放A段音频的前2s。传入播放的时间time,效果是播放对应时常的音频。抽象出来:time = 输出音频的种类对应的长度

str audioList = [A,B,C]
Int audioLength = [9,9,10]
All_audio_Length = 28

time
如果播放时间time是7s,播放A_7
如果播放时间time是14s,播放A + B_5
如果播放时间time是20s,播放A + B + C_2
如果播放时间time是30s,播放A + B + C + A_2

【实现】

import org.codehaus.plexus.util.StringUtils;

public class AudioPlay {
    public static String method(int time){
        String result = "";
        String[] audioList = new String[]{"A","B","C"};
        int[] audioLengthList = new int[]{9,9,10};

        int curTime = 0;
        int i = 0;
        while (time > curTime) {
            for (; i < audioList.length; i++ ){
                curTime += audioLengthList[i];

                if (StringUtils.isNotBlank(result)) {
                    result += " + ";
                }
                if (time  > curTime) {
                    result += audioList[i];
                    continue;
                } else if (time == curTime) {
                    result += audioList[i];
                    break;
                } else if (time < curTime) {
                    int needless = curTime - time;
                    int need = audioLengthList[i] - needless;
                    result += audioList[i] + "_" + need;
                    break;
                }
            }
            i = i%audioList.length;
        }
        return result;
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值