Skip to content

Commit 8e1e3ec

Browse files
committed
NEW: AgoraAudioFrameDelegate for mac
1 parent 6e8a95f commit 8e1e3ec

6 files changed

Lines changed: 490 additions & 22 deletions

File tree

macOS/APIExample.xcodeproj/project.pbxproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@
8585
57A635D82591BC0C00EDC2F7 /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A635D72591BC0C00EDC2F7 /* Slider.swift */; };
8686
57A635DC2591BCF000EDC2F7 /* Slider.xib in Resources */ = {isa = PBXBuildFile; fileRef = 57A635DB2591BCF000EDC2F7 /* Slider.xib */; };
8787
57A635F42593544600EDC2F7 /* effectA.wav in Resources */ = {isa = PBXBuildFile; fileRef = 57A635F32593544600EDC2F7 /* effectA.wav */; };
88+
57AF397B259B31AA00601E02 /* RawAudioData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57AF397A259B31AA00601E02 /* RawAudioData.swift */; };
89+
57AF3981259B329B00601E02 /* RawAudioData.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 57AF3980259B329B00601E02 /* RawAudioData.storyboard */; };
8890
596A9F79AF0CD8DC1CA93253 /* Pods_APIExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F65EF2B97B89DE4581B426B /* Pods_APIExample.framework */; };
8991
EBDD0209B272C276B21B6270 /* Pods_APIExample_APIExampleUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC2BAB0AC82140B7CEEA31DA /* Pods_APIExample_APIExampleUITests.framework */; };
9092
/* End PBXBuildFile section */
@@ -223,6 +225,8 @@
223225
57A635DB2591BCF000EDC2F7 /* Slider.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = Slider.xib; sourceTree = "<group>"; };
224226
57A635E42591EDFA00EDC2F7 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/JoinChannelAudio.strings"; sourceTree = "<group>"; };
225227
57A635F32593544600EDC2F7 /* effectA.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = effectA.wav; sourceTree = "<group>"; };
228+
57AF397A259B31AA00601E02 /* RawAudioData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RawAudioData.swift; sourceTree = "<group>"; };
229+
57AF3980259B329B00601E02 /* RawAudioData.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = RawAudioData.storyboard; sourceTree = "<group>"; };
226230
6F65EF2B97B89DE4581B426B /* Pods_APIExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_APIExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
227231
84C863718A380DFD36ABF19F /* Pods-APIExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-APIExample.debug.xcconfig"; path = "Target Support Files/Pods-APIExample/Pods-APIExample.debug.xcconfig"; sourceTree = "<group>"; };
228232
B53F41CB5AC550EA43C47363 /* Pods-APIExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-APIExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-APIExampleTests/Pods-APIExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
@@ -468,6 +472,7 @@
468472
036D3AA524FB797700B1D8DC /* Advanced */ = {
469473
isa = PBXGroup;
470474
children = (
475+
57AF3979259B30BB00601E02 /* RawAudioData */,
471476
576459FD259B1C22007B1E30 /* CreateDataStream */,
472477
033A9F95252EA86A00BC26E1 /* CustomAudioRender */,
473478
033A9F93252EA86A00BC26E1 /* CustomAudioSource */,
@@ -622,6 +627,15 @@
622627
path = Settings;
623628
sourceTree = "<group>";
624629
};
630+
57AF3979259B30BB00601E02 /* RawAudioData */ = {
631+
isa = PBXGroup;
632+
children = (
633+
57AF397A259B31AA00601E02 /* RawAudioData.swift */,
634+
57AF3980259B329B00601E02 /* RawAudioData.storyboard */,
635+
);
636+
path = RawAudioData;
637+
sourceTree = "<group>";
638+
};
625639
72510F6AF209B24C1F66A819 /* Pods */ = {
626640
isa = PBXGroup;
627641
children = (
@@ -768,6 +782,7 @@
768782
57645A04259B1C22007B1E30 /* CreateDataStream.storyboard in Resources */,
769783
57A635DC2591BCF000EDC2F7 /* Slider.xib in Resources */,
770784
033A9FC2252EB02D00BC26E1 /* CustomAudioSource.storyboard in Resources */,
785+
57AF3981259B329B00601E02 /* RawAudioData.storyboard in Resources */,
771786
033A9FE5252EB59000BC26E1 /* VoiceChanger.storyboard in Resources */,
772787
033A9FBD252EB02600BC26E1 /* CustomAudioRender.storyboard in Resources */,
773788
034C62A025297ABB00296ECF /* audioeffect.mp3 in Resources */,
@@ -934,6 +949,7 @@
934949
034C626425257EA600296ECF /* GlobalSettings.swift in Sources */,
935950
0301D3192507B4A800DF3BEA /* AgoraMetalRender.swift in Sources */,
936951
036D3A9A24FA395E00B1D8DC /* KeyCenter.swift in Sources */,
952+
57AF397B259B31AA00601E02 /* RawAudioData.swift in Sources */,
937953
033A9F9F252EA86A00BC26E1 /* CustomVideoRender.swift in Sources */,
938954
0336A1CB25034F4700D61B7F /* AudioController.m in Sources */,
939955
034C62672525857200296ECF /* JoinChannelAudio.swift in Sources */,
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
3+
<dependencies>
4+
<deployment identifier="macosx"/>
5+
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
6+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7+
</dependencies>
8+
<scenes>
9+
<!--Raw Audio Data-->
10+
<scene sceneID="hcQ-u7-bBx">
11+
<objects>
12+
<viewController storyboardIdentifier="RawAudioData" id="ahG-wT-ZnF" customClass="RawAudioData" customModule="APIExample" customModuleProvider="target" sceneMemberID="viewController">
13+
<view key="view" id="1Er-f7-V9G">
14+
<rect key="frame" x="0.0" y="0.0" width="814" height="600"/>
15+
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
16+
<subviews>
17+
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="2" horizontalPageScroll="2" verticalLineScroll="2" verticalPageScroll="2" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Pr8-SI-YZP">
18+
<rect key="frame" x="500" y="102" width="314" height="498"/>
19+
<clipView key="contentView" id="sEZ-8g-UxB">
20+
<rect key="frame" x="0.0" y="0.0" width="314" height="498"/>
21+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
22+
<subviews>
23+
<view id="pHM-0l-S3l">
24+
<rect key="frame" x="310" y="0.0" width="314" height="498"/>
25+
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" heightSizable="YES"/>
26+
<subviews>
27+
<view id="z6o-UE-dwZ" customClass="Picker" customModule="APIExample" customModuleProvider="target">
28+
<rect key="frame" x="27" y="428" width="260" height="50"/>
29+
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
30+
</view>
31+
<view id="5vd-yY-Vnv" customClass="Picker" customModule="APIExample" customModuleProvider="target">
32+
<rect key="frame" x="27" y="379" width="260" height="50"/>
33+
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
34+
</view>
35+
</subviews>
36+
</view>
37+
</subviews>
38+
</clipView>
39+
<edgeInsets key="contentInsets" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
40+
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="Jlq-TC-gwp">
41+
<rect key="frame" x="0.0" y="585" width="300" height="15"/>
42+
<autoresizingMask key="autoresizingMask"/>
43+
</scroller>
44+
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="TGQ-cs-9nY">
45+
<rect key="frame" x="300" y="0.0" width="15" height="600"/>
46+
<autoresizingMask key="autoresizingMask"/>
47+
</scroller>
48+
</scrollView>
49+
<customView translatesAutoresizingMaskIntoConstraints="NO" id="yPf-Pm-lDY" customClass="AGEVideoContainer" customModule="AGEVideoLayout">
50+
<rect key="frame" x="0.0" y="0.0" width="500" height="600"/>
51+
<constraints>
52+
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="320" id="7Vy-za-k0b"/>
53+
</constraints>
54+
</customView>
55+
<box horizontalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="yw4-8o-YKu">
56+
<rect key="frame" x="497" y="0.0" width="5" height="600"/>
57+
</box>
58+
<box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="HX7-cy-B7g">
59+
<rect key="frame" x="500" y="0.0" width="314" height="103"/>
60+
<view key="contentView" id="O7S-PD-iiy">
61+
<rect key="frame" x="0.0" y="0.0" width="314" height="103"/>
62+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
63+
<subviews>
64+
<view id="h7v-ji-dqq" customClass="Input" customModule="APIExample" customModuleProvider="target">
65+
<rect key="frame" x="30" y="43" width="260" height="50"/>
66+
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
67+
</view>
68+
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uOg-cZ-3KC">
69+
<rect key="frame" x="26" y="7" width="268" height="32"/>
70+
<buttonCell key="cell" type="push" title="Join" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="HbD-tR-UZt">
71+
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
72+
<font key="font" metaFont="system"/>
73+
</buttonCell>
74+
<connections>
75+
<action selector="onJoinPressed:" target="ahG-wT-ZnF" id="21C-cr-xYj"/>
76+
</connections>
77+
</button>
78+
</subviews>
79+
<constraints>
80+
<constraint firstItem="uOg-cZ-3KC" firstAttribute="leading" secondItem="O7S-PD-iiy" secondAttribute="leading" constant="33" id="ZKf-1V-MRJ"/>
81+
<constraint firstItem="uOg-cZ-3KC" firstAttribute="centerX" secondItem="h7v-ji-dqq" secondAttribute="centerX" id="bZF-fc-tGe"/>
82+
<constraint firstItem="uOg-cZ-3KC" firstAttribute="top" secondItem="h7v-ji-dqq" secondAttribute="bottom" constant="9" id="i6D-4a-qRa"/>
83+
</constraints>
84+
</view>
85+
<constraints>
86+
<constraint firstAttribute="height" constant="103" id="ich-jl-o1y"/>
87+
</constraints>
88+
<color key="fillColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
89+
</box>
90+
</subviews>
91+
<constraints>
92+
<constraint firstItem="yPf-Pm-lDY" firstAttribute="top" secondItem="Pr8-SI-YZP" secondAttribute="top" id="0Lc-mC-8x9"/>
93+
<constraint firstItem="yPf-Pm-lDY" firstAttribute="bottom" secondItem="HX7-cy-B7g" secondAttribute="bottom" id="1f5-oG-Upz"/>
94+
<constraint firstItem="HX7-cy-B7g" firstAttribute="trailing" secondItem="Pr8-SI-YZP" secondAttribute="trailing" id="5Cu-c8-FWN"/>
95+
<constraint firstAttribute="bottom" secondItem="yPf-Pm-lDY" secondAttribute="bottom" id="AST-HC-veK"/>
96+
<constraint firstItem="yPf-Pm-lDY" firstAttribute="top" secondItem="1Er-f7-V9G" secondAttribute="top" id="AaZ-Xr-DCd"/>
97+
<constraint firstItem="yPf-Pm-lDY" firstAttribute="leading" secondItem="1Er-f7-V9G" secondAttribute="leading" id="Adl-Yi-CGv"/>
98+
<constraint firstItem="Pr8-SI-YZP" firstAttribute="leading" secondItem="yPf-Pm-lDY" secondAttribute="trailing" id="ErB-dF-6YT"/>
99+
<constraint firstItem="HX7-cy-B7g" firstAttribute="leading" secondItem="Pr8-SI-YZP" secondAttribute="leading" id="HcK-Ic-42G"/>
100+
<constraint firstItem="yPf-Pm-lDY" firstAttribute="bottom" secondItem="yw4-8o-YKu" secondAttribute="bottom" id="LZc-70-hgt"/>
101+
<constraint firstItem="yPf-Pm-lDY" firstAttribute="trailing" secondItem="yw4-8o-YKu" secondAttribute="trailing" id="Q8t-pw-V5p"/>
102+
<constraint firstItem="yPf-Pm-lDY" firstAttribute="top" secondItem="yw4-8o-YKu" secondAttribute="top" id="WlN-dF-dCe"/>
103+
<constraint firstAttribute="trailing" secondItem="yPf-Pm-lDY" secondAttribute="trailing" constant="314" id="uSb-DG-omF"/>
104+
<constraint firstAttribute="trailing" secondItem="HX7-cy-B7g" secondAttribute="trailing" id="vaH-0u-92M"/>
105+
<constraint firstAttribute="bottom" secondItem="Pr8-SI-YZP" secondAttribute="bottom" constant="102" id="zW4-9M-fem"/>
106+
</constraints>
107+
</view>
108+
<connections>
109+
<outlet property="Container" destination="yPf-Pm-lDY" id="ZUx-9j-MdC"/>
110+
<outlet property="channelField" destination="h7v-ji-dqq" id="0jt-zm-H4l"/>
111+
<outlet property="joinChannelButton" destination="uOg-cZ-3KC" id="pLG-tx-4wk"/>
112+
<outlet property="selectLayoutPicker" destination="5vd-yY-Vnv" id="77i-9f-ofd"/>
113+
<outlet property="selectMicsPicker" destination="z6o-UE-dwZ" id="yGS-pL-Ckl"/>
114+
</connections>
115+
</viewController>
116+
<customObject id="eGn-6E-yZ6" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
117+
</objects>
118+
<point key="canvasLocation" x="-296" y="124"/>
119+
</scene>
120+
</scenes>
121+
</document>

0 commit comments

Comments
 (0)