【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;
    }

}

你可能感兴趣的:(java,音视频,开发语言)