tencent cloud

文档反馈

iOS

最后更新时间:2023-09-26 16:53:03

    人声与歌曲同步介绍

    因为本地人声采集的 jitter buffer、歌曲播放混音的 jitter buffer 以及声音播放到人耳到歌唱存在有一定的 GAP 的,所以演唱者完全对着歌词和 BGM 播放时候,在远端观众感觉 BGM 播放、人声、歌词是有一定的延迟的,合唱方案在 TRTC SDK 内部使用了使用低延迟的 AAudio 采集,具体只需要在进房后开启合唱模式与低延时模式。

    具体代码实现

    开启合唱模式

    // 主实例(人声实例)开启合唱模式(调低缓冲区间、音频冗余保护)
    NSDictionary *jsonDic = @{
    @"api": @"enableChorus",
    @"params": @{
    @"enable": @(YES),
    @"audioSource": @(0)
    }
    };
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    [trtcCloud callExperimentalAPI:jsonString];
    // 子实例(伴奏实例)开启合唱模式(调低缓冲区间、音频冗余保护)
    NSDictionary *jsonDic = @{
    @"api": @"enableChorus",
    @"params": @{
    @"enable": @(YES),
    @"audioSource": @(1)
    }
    };
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    [subCloud callExperimentalAPI:jsonString];
    说明:
    开启合唱模式的实验性接口 enableChorus 的参数设置:
    audioSource:0(人声)
    audioSource:1(伴奏)

    开启低延时模式(高性能音频 AAudio)

    // 主实例(人声实例)开启高性能音频 AAudio
    NSDictionary *jsonDic = @{
    @"api": @"setLowLatencyModeEnabled",
    @"params": @{
    @"enable": @(1)
    }
    };
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    [trtcCloud callExperimentalAPI:jsonString];
    // 子实例(伴奏实例)开启高性能音频 AAudio
    NSDictionary *jsonDic = @{
    @"api": @"setLowLatencyModeEnabled",
    @"params": @{
    @"enable": @(1)
    }
    };
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    [subCloud callExperimentalAPI:jsonString];
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持