目测双声道 可以控制左右发声 实现立体环声

public static class AudioClipExtensions
{
    /// <summary>
    /// 创建说话者特定的剪辑。
    /// </summary>
    /// <returns>演讲者特定的剪辑。</returns>
    /// <param name="originalClip">原始剪辑。</param>
    /// <param name="amountOfChannels">数量的渠道</param>
    /// <param name="targetChannel">目标通道。</param>
    public static AudioClip CreateSpeakerSpecificClip(this AudioClip originalClip, int amountOfChannels, int targetChannel)
    {
        // 使用目标频道数量创建一个新的剪辑。
        AudioClip clip = AudioClip.Create(originalClip.name, originalClip.samples, amountOfChannels, originalClip.frequency, false);
        // 音频数组。
        float[] audioData = new float[originalClip.samples * amountOfChannels];
        float[] originalAudioData = new float[originalClip.samples * originalClip.channels];
        if (!originalClip.GetData(originalAudioData, 0))
            return null;
        // 将音频从原始剪辑填充到目标频道。样品由通道(L0, R0, L1, R1等)交叉。
        int originalClipIndex = 0;
        for (int i = targetChannel; i < audioData.Length; i += amountOfChannels)
        {
            audioData[i] = originalAudioData[originalClipIndex];
            originalClipIndex += originalClip.channels;
        }
        if (!clip.SetData(audioData, 0))
            return null;
        return clip;
    }
}

 

转载于:https://www.cnblogs.com/mclll520/p/9629040.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值