Skip to content

Commit 1fb05d6

Browse files
author
zhaoyongqiang
committed
适配4.0.1版本
1 parent 8555330 commit 1fb05d6

10 files changed

Lines changed: 55 additions & 18 deletions

File tree

iOS/APIExample-Audio/APIExample-Audio/Common/ExternalAudio/ExternalAudio.mm

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ int readAudioData(void* data, int bytesLength)
171171

172172
}
173173

174+
virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) override {
175+
return true;
176+
}
177+
174178
// recive remote audio stream, push audio data to byteBuffer_play
175179
virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) override
176180
{
@@ -211,6 +215,10 @@ virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame)
211215

212216
}
213217

218+
virtual AudioParams getEarMonitoringAudioParams() override {
219+
return AudioParams();
220+
}
221+
214222
virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, agora::rtc::uid_t uid, AudioFrame& audioFrame) override { return true; }
215223

216224
virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) override { return true; }

iOS/APIExample-Audio/APIExample-Audio/Common/RawDataApi/AgoraMediaDataPlugin.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ typedef NS_OPTIONS(NSInteger, ObserverPacketType) {
5252
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin willPlaybackAudioRawData:(AgoraAudioRawData * _Nonnull)audioRawData;
5353
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin willPlaybackBeforeMixingAudioRawData:(AgoraAudioRawData * _Nonnull)audioRawData ofUid:(uint)uid;
5454
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin didMixedAudioRawData:(AgoraAudioRawData * _Nonnull)audioRawData;
55+
56+
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin onEarMonitoringAudioFrame:(AgoraAudioRawData * _Nonnull)audioRawData;
57+
5558
@end
5659

5760
@protocol AgoraPacketDataPluginDelegate <NSObject>

iOS/APIExample-Audio/APIExample-Audio/Common/RawDataApi/AgoraMediaDataPlugin.mm

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,19 @@ virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) o
212212
return true;
213213
}
214214

215+
virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) override {
216+
217+
if (!mediaDataPlugin && ((mediaDataPlugin.observerAudioType >> 0) == 0)) return true;
218+
@autoreleasepool {
219+
if ([mediaDataPlugin.audioDelegate respondsToSelector:@selector(mediaDataPlugin:onEarMonitoringAudioFrame:)]) {
220+
AgoraAudioRawData *data = getAudioRawDataWithAudioFrame(audioFrame);
221+
AgoraAudioRawData *newData = [mediaDataPlugin.audioDelegate mediaDataPlugin:mediaDataPlugin onEarMonitoringAudioFrame:data];
222+
modifiedAudioFrameWithNewAudioRawData(audioFrame, newData);
223+
}
224+
}
225+
return true;
226+
}
227+
215228
virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) override
216229
{
217230
if (!mediaDataPlugin && ((mediaDataPlugin.observerAudioType >> 1) == 0)) return true;
@@ -251,6 +264,10 @@ virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) ov
251264
return true;
252265
}
253266

267+
virtual AudioParams getEarMonitoringAudioParams() override {
268+
return AudioParams();
269+
}
270+
254271
virtual int getObservedAudioFramePosition() override {
255272
return AUDIO_FRAME_POSITION_NONE;
256273
}

iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/CustomAudioRender/CustomAudioRender.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ class CustomAudioRenderMain: BaseViewController {
8787
// when joining channel. The channel name and uid used to calculate
8888
// the token has to match the ones used for channel join
8989
let option = AgoraRtcChannelMediaOptions()
90-
option.publishCameraTrack = .of(false)
91-
option.publishMicrophoneTrack = .of(true)
92-
option.clientRoleType = .of((Int32)(GlobalSettings.shared.getUserRole().rawValue))
90+
option.publishCameraTrack = false
91+
option.publishMicrophoneTrack = true
92+
option.clientRoleType = GlobalSettings.shared.getUserRole()
9393

9494
let result = agoraKit.joinChannel(byToken: KeyCenter.Token, channelId: channelName, uid: 0, mediaOptions: option)
9595
if result != 0 {

iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/CustomAudioSource/CustomAudioSource.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ class CustomAudioSourceMain: BaseViewController {
8484
// when joining channel. The channel name and uid used to calculate
8585
// the token has to match the ones used for channel join
8686
let option = AgoraRtcChannelMediaOptions()
87-
option.publishCameraTrack = .of(false)
88-
option.publishCustomAudioTrack = .of(true)
89-
option.clientRoleType = .of((Int32)(GlobalSettings.shared.getUserRole().rawValue))
87+
option.publishCameraTrack = false
88+
option.publishCustomAudioTrack = true
89+
option.clientRoleType = GlobalSettings.shared.getUserRole()
9090
let result = agoraKit.joinChannel(byToken: KeyCenter.Token, channelId: channelName, uid: 0, mediaOptions: option)
9191
if result != 0 {
9292
// Usually happens with invalid parameters

iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/CustomPcmAudioSource/CustomPcmAudioSource.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,10 @@ class CustomPcmAudioSourceMain: BaseViewController {
9191
// when joining channel. The channel name and uid used to calculate
9292
// the token has to match the ones used for channel join
9393
let option = AgoraRtcChannelMediaOptions()
94-
option.publishCameraTrack = .of(false)
95-
option.publishMicrophoneTrack = .of(true)
96-
option.publishCustomAudioTrack = .of(true)
97-
option.clientRoleType = .of((Int32)(GlobalSettings.shared.getUserRole().rawValue))
94+
option.publishCameraTrack = false
95+
option.publishMicrophoneTrack = true
96+
option.publishCustomAudioTrack = true
97+
option.clientRoleType = GlobalSettings.shared.getUserRole()
9898
let result = agoraKit.joinChannel(byToken: KeyCenter.Token, channelId: channelName, uid: 0, mediaOptions: option)
9999
if result != 0 {
100100
// Usually happens with invalid parameters

iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/RawAudioData/RawAudioData.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,14 @@ class RawAudioDataViewController: BaseViewController {
6565

6666
// MARK: - AgoraAudioFrameDelegate
6767
extension RawAudioDataViewController: AgoraAudioFrameDelegate {
68+
func onEarMonitoringAudioFrame(_ frame: AgoraAudioFrame) -> Bool {
69+
true
70+
}
71+
72+
func getEarMonitoringAudioParams() -> AgoraAudioParams {
73+
AgoraAudioParams()
74+
}
75+
6876
func getMixedAudioParams() -> AgoraAudioParams {
6977
AgoraAudioParams()
7078
}

iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/RhythmPlayer/RhythmPlayer.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ class RhythmPlayerMain : BaseViewController
9797
// when joining channel. The channel name and uid used to calculate
9898
// the token has to match the ones used for channel join
9999
let option = AgoraRtcChannelMediaOptions()
100-
option.publishCustomAudioTrack = .of(true)
101-
option.publishRhythmPlayerTrack = .of(true)
102-
option.clientRoleType = .of((Int32)(GlobalSettings.shared.getUserRole().rawValue))
100+
option.publishCustomAudioTrack = true
101+
option.publishRhythmPlayerTrack = true
102+
option.clientRoleType = GlobalSettings.shared.getUserRole()
103103

104104
let result = agoraKit.joinChannel(byToken: KeyCenter.Token, channelId: channelName, uid: 0, mediaOptions: option)
105105
if result != 0 {

iOS/APIExample-Audio/APIExample-Audio/Examples/Basic/JoinChannelAudio/JoinChannelAudio.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ class JoinChannelAudioMain: BaseViewController {
145145
// when joining channel. The channel name and uid used to calculate
146146
// the token has to match the ones used for channel join
147147
let option = AgoraRtcChannelMediaOptions()
148-
option.publishCameraTrack = .of(false)
149-
option.publishMicrophoneTrack = .of(true)
150-
option.clientRoleType = .of((Int32)(GlobalSettings.shared.getUserRole().rawValue))
148+
option.publishCameraTrack = false
149+
option.publishMicrophoneTrack = true
150+
option.clientRoleType = GlobalSettings.shared.getUserRole()
151151

152152
let result = agoraKit.joinChannel(byToken: KeyCenter.Token, channelId: channelName, uid: 0, mediaOptions: option)
153153
if result != 0 {

iOS/APIExample-Audio/Podfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ target 'APIExample-Audio' do
77

88
pod 'Floaty', '~> 4.2.0'
99
pod 'AGEVideoLayout', '~> 1.0.2'
10-
pod 'AgoraAudio_iOS', '4.0.0-rc.1'
11-
# pod 'sdk', :path => 'sdk.podspec'
10+
# pod 'AgoraAudio_iOS', '4.0.0-rc.1'
11+
pod 'sdk', :path => 'sdk.podspec'
1212
end
13+

0 commit comments

Comments
 (0)