Skip to content

Commit 8e9590f

Browse files
authored
add fix (#102)
add publish/unpublish stream controller in demo
1 parent 39aaa19 commit 8e9590f

File tree

12 files changed

+2601
-50
lines changed

12 files changed

+2601
-50
lines changed

API-Example-Unity/Assets/API-Example/Examples/Advanced/AudioMixing/AudioMixing.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ public class AudioMixing : MonoBehaviour
3434
internal Logger Log;
3535
internal IRtcEngine RtcEngine = null;
3636

37+
private Toggle _urlToggle;
38+
private Toggle _loopbackToggle;
39+
3740
// Start is called before the first frame update
3841
private void Start()
3942
{
@@ -123,10 +126,11 @@ private void StartAudioMixing()
123126
Debug.Log("StartAudioMixing returns: " + ret);
124127
}
125128

129+
126130
private void PlayEffectTest()
127131
{
128132
Debug.Log("Playing with " + (_urlToggle.isOn ? "URL" : "local file"));
129-
RtcEngine.PlayEffect(1, _urlToggle.isOn ? Sound_URL : _localPath, 1, 1.0, 0, 100, true);
133+
RtcEngine.PlayEffect(1, _urlToggle.isOn ? Sound_URL : _localPath, 1, 1.0, 0, 100, !_loopbackToggle.isOn, 0);
130134
}
131135

132136
private void StopEffectTest()
@@ -198,8 +202,7 @@ private void HandleEffectButton()
198202
}
199203

200204

201-
private Toggle _urlToggle { get; set; }
202-
private Toggle _loopbackToggle { get; set; }
205+
203206

204207
#endregion
205208
}

API-Example-Unity/Assets/API-Example/Examples/Advanced/DeviceManager/DeviceManagerScene.unity

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ RectTransform:
145145
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
146146
m_AnchorMin: {x: 0.5, y: 1}
147147
m_AnchorMax: {x: 0.5, y: 1}
148-
m_AnchoredPosition: {x: -0.000030517578, y: -27.217377}
148+
m_AnchoredPosition: {x: -0.000030517578, y: -27.217407}
149149
m_SizeDelta: {x: 160, y: 30}
150150
m_Pivot: {x: 0.5, y: 0.5}
151151
--- !u!114 &243413516
@@ -187,6 +187,68 @@ CanvasRenderer:
187187
m_PrefabParentObject: {fileID: 0}
188188
m_PrefabInternal: {fileID: 0}
189189
m_GameObject: {fileID: 243413514}
190+
--- !u!1 &349196943
191+
GameObject:
192+
m_ObjectHideFlags: 0
193+
m_PrefabParentObject: {fileID: 0}
194+
m_PrefabInternal: {fileID: 0}
195+
serializedVersion: 5
196+
m_Component:
197+
- component: {fileID: 349196946}
198+
- component: {fileID: 349196945}
199+
- component: {fileID: 349196944}
200+
m_Layer: 0
201+
m_Name: EventSystem
202+
m_TagString: Untagged
203+
m_Icon: {fileID: 0}
204+
m_NavMeshLayer: 0
205+
m_StaticEditorFlags: 0
206+
m_IsActive: 1
207+
--- !u!114 &349196944
208+
MonoBehaviour:
209+
m_ObjectHideFlags: 0
210+
m_PrefabParentObject: {fileID: 0}
211+
m_PrefabInternal: {fileID: 0}
212+
m_GameObject: {fileID: 349196943}
213+
m_Enabled: 1
214+
m_EditorHideFlags: 0
215+
m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
216+
m_Name:
217+
m_EditorClassIdentifier:
218+
m_HorizontalAxis: Horizontal
219+
m_VerticalAxis: Vertical
220+
m_SubmitButton: Submit
221+
m_CancelButton: Cancel
222+
m_InputActionsPerSecond: 10
223+
m_RepeatDelay: 0.5
224+
m_ForceModuleActive: 0
225+
--- !u!114 &349196945
226+
MonoBehaviour:
227+
m_ObjectHideFlags: 0
228+
m_PrefabParentObject: {fileID: 0}
229+
m_PrefabInternal: {fileID: 0}
230+
m_GameObject: {fileID: 349196943}
231+
m_Enabled: 1
232+
m_EditorHideFlags: 0
233+
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
234+
m_Name:
235+
m_EditorClassIdentifier:
236+
m_FirstSelected: {fileID: 0}
237+
m_sendNavigationEvents: 1
238+
m_DragThreshold: 5
239+
--- !u!4 &349196946
240+
Transform:
241+
m_ObjectHideFlags: 0
242+
m_PrefabParentObject: {fileID: 0}
243+
m_PrefabInternal: {fileID: 0}
244+
m_GameObject: {fileID: 349196943}
245+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
246+
m_LocalPosition: {x: 0, y: 0, z: 0}
247+
m_LocalScale: {x: 1, y: 1, z: 1}
248+
m_Children: []
249+
m_Father: {fileID: 0}
250+
m_RootOrder: 3
251+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
190252
--- !u!1 &1156149138
191253
GameObject:
192254
m_ObjectHideFlags: 0

API-Example-Unity/Assets/API-Example/Examples/Advanced/DualCamera/DualCamera.cs

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ public class DualCamera : MonoBehaviour
4040
public uint UID1 = 123;
4141
public uint UID2 = 456;
4242

43+
public Button MainPublishButton;
44+
public Button MainUnpublishButton;
45+
public Button SecondPublishButton;
46+
public Button SecondUnpublishButton;
47+
4348
// Use this for initialization
4449
private void Start()
4550
{
@@ -96,7 +101,7 @@ public void MainCameraJoinChannel()
96101
RtcEngine.EnableAudio();
97102
RtcEngine.EnableVideo();
98103
RtcEngine.SetClientRole(CLIENT_ROLE_TYPE.CLIENT_ROLE_BROADCASTER);
99-
104+
100105
var ret = RtcEngine.StartPrimaryCameraCapture(_config1);
101106
Log.UpdateLog(
102107
string.Format("StartPrimaryCameraCapture returns: {0}", ret));
@@ -118,6 +123,37 @@ public void MainCameraLeaveChannel()
118123
Debug.Log("MainCameraLeaveChannel returns: " + ret);
119124
}
120125

126+
public void MainCameraPublish()
127+
{
128+
ChannelMediaOptions options1 = new ChannelMediaOptions();
129+
options1.publishCameraTrack.SetValue(true);
130+
options1.publishMicrophoneTrack.SetValue(true);
131+
var connection = new RtcConnection();
132+
connection.channelId = _channelName;
133+
connection.localUid = UID1;
134+
RtcEngine.UpdateChannelMediaOptionsEx(options1, connection);
135+
136+
137+
MainPublishButton.gameObject.SetActive(false);
138+
MainUnpublishButton.gameObject.SetActive(true);
139+
140+
}
141+
142+
public void MainCameraUnPublish()
143+
{
144+
ChannelMediaOptions options1 = new ChannelMediaOptions();
145+
options1.publishCameraTrack.SetValue(false);
146+
options1.publishMicrophoneTrack.SetValue(false);
147+
var connection = new RtcConnection();
148+
connection.channelId = _channelName;
149+
connection.localUid = UID1;
150+
RtcEngine.UpdateChannelMediaOptions(options1);
151+
152+
MainPublishButton.gameObject.SetActive(true);
153+
MainUnpublishButton.gameObject.SetActive(false);
154+
}
155+
156+
121157
public void SecondCameraJoinChannel()
122158
{
123159
var ret = RtcEngine.StartSecondaryCameraCapture(_config2);
@@ -142,6 +178,36 @@ public void SecondCameraLeaveChannel()
142178
Debug.Log("SecondCameraLeaveChannel returns: " + ret);
143179
}
144180

181+
public void SecondCameraPublish()
182+
{
183+
ChannelMediaOptions options1 = new ChannelMediaOptions();
184+
options1.publishSecondaryCameraTrack.SetValue(true);
185+
186+
var connection = new RtcConnection();
187+
connection.channelId = _channelName;
188+
connection.localUid = UID2;
189+
RtcEngine.UpdateChannelMediaOptionsEx(options1, connection);
190+
191+
SecondPublishButton.gameObject.SetActive(false);
192+
SecondUnpublishButton.gameObject.SetActive(true);
193+
194+
}
195+
196+
public void SecondCameraUnpublish()
197+
{
198+
ChannelMediaOptions options1 = new ChannelMediaOptions();
199+
options1.publishSecondaryCameraTrack.SetValue(false);
200+
201+
var connection = new RtcConnection();
202+
connection.channelId = _channelName;
203+
connection.localUid = UID2;
204+
RtcEngine.UpdateChannelMediaOptionsEx(options1, connection);
205+
206+
SecondPublishButton.gameObject.SetActive(true);
207+
SecondUnpublishButton.gameObject.SetActive(false);
208+
}
209+
210+
145211
private void GetVideoDeviceManager()
146212
{
147213
_videoDeviceManager = RtcEngine.GetVideoDeviceManager();

0 commit comments

Comments
 (0)