Skip to content

Commit

Permalink
update to v2.9.5
Browse files Browse the repository at this point in the history
  • Loading branch information
ksvcci authored and Franken Zeng committed Jan 14, 2018
1 parent 223083d commit 65fa2e0
Show file tree
Hide file tree
Showing 46 changed files with 1,191 additions and 45 deletions.
4 changes: 2 additions & 2 deletions demo/KSYLiveDemo/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.9.4</string>
<string>2.9.5</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2.9.4.1</string>
<string>2.9.5.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
Expand Down
9 changes: 9 additions & 0 deletions demo/KSYLiveDemo/KSYDemoUI/KSYAudioCtrlView.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@
/// 变声
@property UISegmentedControl * effectType;
@property (atomic, readwrite) KSYAudioEffectType audioEffect;
///reverb参数值
@property KSYNameSlider * reverbEffectParamsVaule;
@property UISwitch * swReverbEffect;
///delay参数值
@property KSYNameSlider * delayEffectParamsVaule;
@property UISwitch * swDelayEffect;
/// pitchShift参数值
@property KSYNameSlider * pitchEffectParamsVaule;
@property UISwitch * swPitchEffect;

/// 降噪等级选择
@property UISegmentedControl * noiseSuppressSeg;
Expand Down
19 changes: 14 additions & 5 deletions demo/KSYLiveDemo/KSYDemoUI/KSYAudioCtrlView.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#import "KSYPresetCfgView.h"
#import "KSYAudioCtrlView.h"
#import "KSYNameSlider.h"

@interface KSYAudioCtrlView() {

}
Expand All @@ -28,8 +29,7 @@ - (id)init{
_micVol = [self addSliderName:@"麦克风音量" From:0.0 To:2.0 Init:0.9];
_bgmVol = [self addSliderName:@"背景乐音量" From:0.0 To:2.0 Init:0.5];
_bgmMix = [self addSwitch:YES];



_micInput = [self addSegCtrlWithItems:@[ @"内置mic", @"耳麦", @"蓝牙mic"]];
[self initMicInput];

Expand All @@ -46,7 +46,13 @@ - (id)init{
_lblPlayCapture = [self addLable:@"耳返"];
_swPlayCapture = [self addSwitch:NO];
_playCapVol= [self addSliderName:@"耳返音量" From:0.0 To:1.0 Init:0.5];
_effectType = [self addSegCtrlWithItems:@[@"关闭变声",@"大叔", @"萝莉", @"庄严", @"机器人"]];
_effectType = [self addSegCtrlWithItems:@[@"关闭变声",@"大叔", @"萝莉", @"庄严", @"机器人", @"自定义"]];
_reverbEffectParamsVaule= [self addSliderName:@"reverb参数值" From:0.0 To:100.0 Init:0.0];
_delayEffectParamsVaule= [self addSliderName:@"delay参数值" From:0.0 To:100.0 Init:50.0];
_pitchEffectParamsVaule= [self addSliderName:@"pitch参数值" From:-2400.0 To:2400.0 Init:1.0];
_swReverbEffect = [self addSwitch:NO];
_swDelayEffect = [self addSwitch:NO];
_swPitchEffect = [self addSwitch:NO];
_noiseSuppressSeg = [self addSegCtrlWithItems:@[@"关闭去噪",@"", @"", @"", @"很高"]];
_noiseSuppressSeg.selectedSegmentIndex = 3;
_audioDataTypeSeg = [self addSegCtrlWithItems:@[@"CMSampleBufer",@"RawPcm"]];
Expand All @@ -68,9 +74,12 @@ - (void)layoutUI{
nu, _lblMuteSt,_muteStream,
nu,_lblPlayCapture,_swPlayCapture] ];
[self putRow1:_playCapVol];
[self putRow1:_effectType];
[self putRowFit:@[_lblStereo, _stereoStream, _audioDataTypeSeg]];
[self putRow1:_noiseSuppressSeg];
[self putRow1:_effectType];
[self putSlider:_reverbEffectParamsVaule andSwitch:_swReverbEffect];
[self putSlider:_delayEffectParamsVaule andSwitch:_swDelayEffect];
[self putSlider:_pitchEffectParamsVaule andSwitch:_swPitchEffect];

}
- (void) initMicInput {
Expand Down Expand Up @@ -125,7 +134,7 @@ - (KSYMicType) micType{
@synthesize audioEffect = _audioEffect;
- (void) setAudioEffect:(KSYAudioEffectType)audioEffect {
_audioEffect = audioEffect;
if (_audioEffect < 5 ) {
if (_audioEffect < 6 ) {
_effectType.selectedSegmentIndex = (NSInteger) _audioEffect;
}
}
Expand Down
10 changes: 7 additions & 3 deletions demo/KSYLiveDemo/KSYDemoUI/KSYPresetCfgView.m
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ - (id) init {
self = [super init];
self.backgroundColor = [UIColor whiteColor];
// hostURL = rtmpSrv + streamName(随机数,避免多个demo推向同一个流
NSString *rtmpSrv = @"rtmp://120.92.224.235/live";
NSString *rtmpSrv = @"rtmp://mobile.kscvbu.cn/live";
NSString *devCode = [ [KSYUIView getUuid] substringToIndex:3];
NSString *url = [ NSString stringWithFormat:@"%@/%@", rtmpSrv, devCode];
_hostUrlUI = [self addTextField:url ];
Expand All @@ -41,7 +41,8 @@ - (id) init {
_lblCameraPosUI = [self addLable:@"摄像头"];
_cameraPosUI = [self addSegCtrlWithItems:@[@"前置",@"后置"]];
_lblGpuPixFmtUI = [self addLable:@"像素格式"];
_gpuPixFmtUI = [self addSegCtrlWithItems:@[@"rgba",@"nv12"]];
_gpuPixFmtUI = [self addSegCtrlWithItems:@[@"rgba",@"nv12", @"I420"]];
_gpuPixFmtUI.selectedSegmentIndex = 2;
_lblProfileUI = [self addLable:@"配置"];
_profileUI = [self addSegCtrlWithItems:@[@"预设等级",@"自定义"]];
_profileUI.selectedSegmentIndex = 0;
Expand Down Expand Up @@ -358,7 +359,7 @@ - (void) layoutUI {
self.btnH = rowHight*2;
[self putSlider: _hostUrlUI andSwitch: _doneBtn];
self.btnH = rowHight;
[self putRow:@[_lblCameraPosUI,_cameraPosUI,
[self putRowFit:@[_lblCameraPosUI,_cameraPosUI,
_lblGpuPixFmtUI,_gpuPixFmtUI] ];
[self putLable:_lblProfileUI andView:_profileUI];
if (_profileUI.selectedSegmentIndex){
Expand Down Expand Up @@ -518,6 +519,9 @@ - (OSType) gpuOutputPixelFmt {
else if(_gpuPixFmtUI.selectedSegmentIndex == 1) {
return kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange;
}
else if(_gpuPixFmtUI.selectedSegmentIndex == 2) {
return kCVPixelFormatType_420YpCbCr8Planar;
}
return kCVPixelFormatType_32BGRA;
}

Expand Down
2 changes: 1 addition & 1 deletion demo/KSYLiveDemo/KSYDemoUI/KSYStateLableView.m
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ - (void) updateState:(KSYStreamerBase*)str {
NSString *uploadDateSize = [KSYUIVC sizeFormatted:curState.uploadKByte];
NSString* stateurl = [NSString stringWithFormat:@"%@\n", [str.hostURL absoluteString]];
//显示拉流地址
NSString *playUrl = @"http://120.92.224.235:8080/live/";
NSString *playUrl = @"http://mobile.kscvbu.cn:8080/live/";
if (![[str.hostURL scheme] isEqualToString:@"rtmp"]) {
//录制到本地
NSString *fileName = [[stateurl componentsSeparatedByString:@"/"]lastObject];
Expand Down
60 changes: 59 additions & 1 deletion demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.m
Original file line number Diff line number Diff line change
Expand Up @@ -850,6 +850,45 @@ - (void)onAMixerSwitch:(UISwitch *)sw{
}
_kit.aCapDev.bPlayCapturedAudio = sw.isOn;
}
else if (sw == _audioView.swReverbEffect){
if (_audioView.audioEffect != KSYAudioEffectType_COUSTOM){
[KSYUIVC toast:@"切换至自定义模式,才可开启" time:0.3];
sw.on = NO;
return;
}
if (sw.on){
_kit.aCapDev.effectTypeFlag |= KSYAUReverb_FLAG;
}
else{
_kit.aCapDev.effectTypeFlag &= (~KSYAUReverb_FLAG);
}
}
else if (sw == _audioView.swDelayEffect){
if (_audioView.audioEffect != KSYAudioEffectType_COUSTOM){
[KSYUIVC toast:@"切换至自定义模式,才可开启" time:0.3];
sw.on = NO;
return;
}
if (sw.on){
_kit.aCapDev.effectTypeFlag |= KSYAUDelay_FLAG;
}
else{
_kit.aCapDev.effectTypeFlag &= (~KSYAUDelay_FLAG);
}
}
else if (sw == _audioView.swPitchEffect){
if (_audioView.audioEffect != KSYAudioEffectType_COUSTOM){
[KSYUIVC toast:@"切换至自定义模式,才可开启" time:0.3];
sw.on = NO;
return;
}
if (sw.on){
_kit.aCapDev.effectTypeFlag |= KSYAUPitchshift_FLAG;
}
else{
_kit.aCapDev.effectTypeFlag &= (~KSYAUPitchshift_FLAG);
}
}
}
- (void)onAMixerSegCtrl:(UISegmentedControl *)seg{
if (_kit && seg == _audioView.micInput) {
Expand All @@ -861,6 +900,9 @@ - (void)onAMixerSegCtrl:(UISegmentedControl *)seg{
return;
}
else if (seg == _audioView.effectType) {
_audioView.swReverbEffect.on = NO;
_audioView.swDelayEffect.on = NO;
_audioView.swPitchEffect.on = NO;
_kit.aCapDev.effectType = _audioView.audioEffect;
return;
}
Expand All @@ -869,6 +911,7 @@ - (void)onAMixerSegCtrl:(UISegmentedControl *)seg{
return;
}
}

- (void)onAMixerSlider:(KSYNameSlider *)slider{
float val = 0.0;
if ([slider isKindOfClass:[KSYNameSlider class]]) {
Expand All @@ -888,6 +931,21 @@ - (void)onAMixerSlider:(KSYNameSlider *)slider{
_kit.aCapDev.micVolume = slider.normalValue;
}
}
else if (slider == self.audioView.reverbEffectParamsVaule){
if (_kit.aCapDev && self.audioView.swReverbEffect.isOn){
[_kit.aCapDev setReverbParamID:kReverb2Param_DryWetMix withInValue:slider.value];
}
}
else if (slider == self.audioView.delayEffectParamsVaule){
if (_kit.aCapDev && self.audioView.swDelayEffect.isOn){
[_kit.aCapDev setDelayParamID:kDelayParam_WetDryMix withInValue:slider.value];
}
}
else if (slider == self.audioView.pitchEffectParamsVaule){
if (_kit.aCapDev && self.audioView.swPitchEffect.isOn){
[_kit.aCapDev setPitchParamID:kNewTimePitchParam_Pitch withInValue:slider.value];
}
}
}

#pragma mark - misc features
Expand Down Expand Up @@ -966,7 +1024,7 @@ - (void)onMiscBtns:(id)sender {
//推流地址对应的拉流地址
NSString * uuidStr =[[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSString *devCode = [[uuidStr substringToIndex:3] lowercaseString];
NSString *streamPlaySrv = @"http://120.92.224.235:8080/live";
NSString *streamPlaySrv = @"http://mobile.kscvbu.cn:8080/live";
NSString *streamPlayPostfix = @".flv";
playUrlQRCodeVc.url = [ NSString stringWithFormat:@"%@/%@%@", streamPlaySrv, devCode,streamPlayPostfix];
}
Expand Down
4 changes: 2 additions & 2 deletions demo/KSYLiveDemo/KSYLiveVC.m
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ - (void)viewDidLoad {
NSString * uuidStr =[[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSString *devCode = [[uuidStr substringToIndex:3] lowercaseString];
//推流地址
NSString *streamSrv = @"rtmp://120.92.224.235/live";
NSString *streamSrv = @"rtmp://mobile.kscvbu.cn/live";
NSString *streamUrl = [ NSString stringWithFormat:@"%@/%@", streamSrv, devCode];
_arrayStreamAddress = [NSMutableArray arrayWithObjects:streamUrl,nil];
//推流地址对应的拉流地址
NSString *streamPlaySrv = @"http://120.92.224.235:8080/live";
NSString *streamPlaySrv = @"http://mobile.kscvbu.cn:8080/live";
NSString *streamPlayPostfix = @".flv";
NSString *streamPlayUrl = [ NSString stringWithFormat:@"%@/%@%@", streamPlaySrv, devCode,streamPlayPostfix];
//拉流地址
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class KSYPresetCfgView: KSYUIView, UIImagePickerControllerDelegate, UINavigation
super.init()
backgroundColor = .white
// hostURL = rtmpSrv + streamName(随机数,避免多个demo推向同一个流
let rtmpSrv = "rtmp://120.92.224.235/live"
let rtmpSrv = "rtmp://mobile.kscvbu.cn/live"

let devCode = (KSYUIView.init().getUuid()! as NSString).substring(to: 3)
let url = "\(rtmpSrv)/\(devCode)"
Expand Down
2 changes: 1 addition & 1 deletion demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYStreamerVC.swift
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ class KSYStreamerVC: KSYUIVC, UIImagePickerControllerDelegate, UINavigationContr
kit?.streamerBase.logBlock = { (str) -> Void in
print(str ?? "")
}
hostURL = NSURL.init(string: "rtmp://120.92.224.235/live/123")
hostURL = NSURL.init(string: "rtmp://mobile.kscvbu.cn/live/123")
}

// 推流的参数设置 must set after capture
Expand Down
2 changes: 1 addition & 1 deletion demo/KSYLiveDemo_Swift/KSYLiveDemo_Swift/KSYLiveVC.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class KSYLiveVC: UIViewController {
view.backgroundColor = .white
_addressMulArray = [String]()
let devCode = (UIDevice.current.identifierForVendor!.uuidString as NSString).substring(to: 3)
let streamSrv = "rtmp://120.92.224.235/live"
let streamSrv = "rtmp://mobile.kscvbu.cn/live"
let streamUrl = "\(streamSrv)/\(devCode)"
let playUrl = "rtmp://live.hkstv.hk.lxdns.com/live/hks"
let recordFile = "RecordAv.mp4"
Expand Down
2 changes: 1 addition & 1 deletion doc/docset-installed.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Documentation set was installed to Xcode!

Path: /Users/ksvc/Library/Developer/Shared/Documentation/DocSets/com.ksyun.KSYLive_iOS.docset
Time: 2017-12-08 02:07:55 +0000
Time: 2017-12-22 03:40:25 +0000
Loading

0 comments on commit 65fa2e0

Please sign in to comment.