Skip to content

Commit 67bdee6

Browse files
committed
fix: fix issues
1 parent edbac82 commit 67bdee6

8 files changed

Lines changed: 32 additions & 7 deletions

File tree

iOS/APIExample/Common/ExternalAudio/ExternalAudio.mm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame)
214214
virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, agora::rtc::uid_t uid, AudioFrame& audioFrame) override { return true; }
215215

216216
virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) override { return true; }
217+
218+
virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) override {return true;}
217219
};
218220

219221
static ExternalAudioFrameObserver* s_audioFrameObserver;

iOS/APIExample/Common/ExternalVideo/AgoraMetalRender.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import CoreMedia
1010
import Metal
11+
import MetalKit
1112

1213

1314
#if os(iOS) && (!arch(i386) && !arch(x86_64))
@@ -283,7 +284,7 @@ extension AgoraMetalRender: MTKViewDelegate {
283284
#endif
284285

285286
extension AgoraVideoRotation {
286-
func renderedCoordinates(mirror: Bool, videoSize: CGSize, viewSize: CGSize) -> [float4]? {
287+
func renderedCoordinates(mirror: Bool, videoSize: CGSize, viewSize: CGSize) -> [simd_float4]? {
287288
guard viewSize.width > 0, viewSize.height > 0, videoSize.width > 0, videoSize.height > 0 else {
288289
return nil
289290
}

iOS/APIExample/Common/KeyCenter.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
//
88

99
struct KeyCenter {
10-
static let AppId: String = <#Your App Id#>
10+
static let AppId: String = "YOUR APP ID"
1111

1212
// assign token to nil if you have not enabled app certificate
13-
static var Token: String? = <#Temp Access Token#>
13+
static var Token: String? = nil
1414
}

iOS/APIExample/Common/RawDataApi/AgoraMediaDataPlugin.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ typedef NS_OPTIONS(NSInteger, ObserverAudioType) {
2727
ObserverAudioTypeRecordAudio = 1 << 0,
2828
ObserverAudioTypePlaybackAudio = 1 << 1,
2929
ObserverAudioTypePlaybackAudioFrameBeforeMixing = 1 << 2,
30-
ObserverAudioTypeMixedAudio = 1 << 3
30+
ObserverAudioTypeMixedAudio = 1 << 3,
31+
ObserverAudioTypeEarMonitoring = 1 << 4
3132
};
3233

3334
typedef NS_OPTIONS(NSInteger, ObserverPacketType) {
@@ -52,6 +53,7 @@ typedef NS_OPTIONS(NSInteger, ObserverPacketType) {
5253
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin willPlaybackAudioRawData:(AgoraAudioRawData * _Nonnull)audioRawData;
5354
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin willPlaybackBeforeMixingAudioRawData:(AgoraAudioRawData * _Nonnull)audioRawData ofUid:(uint)uid;
5455
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin didMixedAudioRawData:(AgoraAudioRawData * _Nonnull)audioRawData;
56+
- (AgoraAudioRawData * _Nonnull)mediaDataPlugin:(AgoraMediaDataPlugin * _Nonnull)mediaDataPlugin didEarMonitoringRawData:(AgoraAudioRawData * _Nonnull)audioRawData;
5557
@end
5658

5759
@protocol AgoraPacketDataPluginDelegate <NSObject>

iOS/APIExample/Common/RawDataApi/AgoraMediaDataPlugin.mm

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,19 @@ virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) ov
250250
}
251251
return true;
252252
}
253+
254+
virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) override
255+
{
256+
if (!mediaDataPlugin && ((mediaDataPlugin.observerAudioType >> 4) == 0)) return true;
257+
@autoreleasepool {
258+
if ([mediaDataPlugin.audioDelegate respondsToSelector:@selector(mediaDataPlugin:didEarMonitoringRawData:)]) {
259+
AgoraAudioRawData *data = getAudioRawDataWithAudioFrame(audioFrame);
260+
AgoraAudioRawData *newData = [mediaDataPlugin.audioDelegate mediaDataPlugin:mediaDataPlugin didEarMonitoringRawData:data];
261+
modifiedAudioFrameWithNewAudioRawData(audioFrame, newData);
262+
}
263+
}
264+
return true;
265+
}
253266
};
254267

255268
class AgoraMediaDataPluginPacketObserver : public agora::rtc::IPacketObserver

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ extension RawAudioDataViewController: AgoraAudioFrameDelegate {
7878
func onPlaybackAudioFrame(beforeMixing frame: AgoraAudioFrame, channelId: String, uid: UInt) -> Bool {
7979
return true
8080
}
81+
82+
func onEarMonitoringAudioFrame(_ frame: AgoraAudioFrame) -> Bool {
83+
return true
84+
}
8185
}
8286

8387
// MARK: - AgoraRtcEngineDelegate

iOS/Agora-ScreenShare-Extension/AgoraAudioProcessing.mm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) ov
6767
virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, agora::rtc::uid_t userId, AudioFrame& audioFrame) override {
6868
return true;
6969
}
70+
virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) override {
71+
return true;
72+
}
7073
};
7174

7275
static AgoraAudioFrameObserver s_audioFrameObserver;

iOS/Podfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ target 'APIExample' do
77
pod 'Floaty', '~> 4.2.0'
88
pod 'AGEVideoLayout', '~> 1.0.2'
99
pod 'CocoaAsyncSocket', '7.6.5'
10-
pod 'AgoraRtcEngine_iOS_Beta', '4.0.0-beta.1'
10+
pod 'AgoraRtcEngine_iOS_Beta', '4.0.0-beta.2'
1111
end
1212

1313
target 'Agora-ScreenShare-Extension' do
1414
use_frameworks!
1515

16-
pod 'AgoraRtcEngine_iOS_Beta', '4.0.0-beta.1'
16+
pod 'AgoraRtcEngine_iOS_Beta', '4.0.0-beta.2'
1717
end
1818

1919
target 'SimpleFilter' do
2020
use_frameworks!
2121

22-
pod 'AgoraRtcEngine_iOS_Beta', '4.0.0-beta.1'
22+
pod 'AgoraRtcEngine_iOS_Beta', '4.0.0-beta.2'
2323
end

0 commit comments

Comments
 (0)