@@ -60,7 +60,7 @@ public partial class DevicePortal
6060 /// <summary>
6161 /// API for getting a high resolution live Holographic Mixed Reality Capture stream.
6262 /// </summary>
63- public static readonly string MrcLiveStreamHighwResApi = "api/holographic/stream/live_high.mp4" ;
63+ public static readonly string MrcLiveStreamHighResApi = "api/holographic/stream/live_high.mp4" ;
6464
6565 /// <summary>
6666 /// API for getting a low resolution live Holographic Mixed Reality Capture stream.
@@ -81,8 +81,8 @@ public partial class DevicePortal
8181 /// Removes a Mixed Reality Capture file from the device's local storage.
8282 /// </summary>
8383 /// <param name="fileName">The name of the file to be deleted.</param>
84- /// <remarks>This method is only supported on HoloLens devices.</remarks>
8584 /// <returns>Task tracking completion of the REST call.</returns>
85+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
8686 public async Task DeleteMrcFile ( string fileName )
8787 {
8888 if ( ! Utilities . IsHoloLens ( this . Platform , this . DeviceFamily ) )
@@ -95,11 +95,95 @@ await this.Delete(
9595 string . Format ( "filename={0}" , Utilities . Hex64Encode ( fileName ) ) ) ;
9696 }
9797
98+ /// <summary>
99+ /// Retrieve the Uri for the high resolution Mixed Reality Capture live stream.
100+ /// </summary>
101+ /// <param name="includeHolograms">Specifies whether or not to include holograms</param>
102+ /// <param name="includeColorCamera">Specifies whether or not to include the color camera</param>
103+ /// <param name="includeMicrophone">Specifies whether or not to include microphone data</param>
104+ /// <param name="includeAudio">Specifies whether or not to include audio data</param>
105+ /// <returns>Uri used to retreive the Mixed Reality Capture stream.</returns>
106+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
107+ public Uri GetHighResolutionMrcLiveStreamUri (
108+ bool includeHolograms = true ,
109+ bool includeColorCamera = true ,
110+ bool includeMicrophone = true ,
111+ bool includeAudio = true )
112+ {
113+ string payload = string . Format (
114+ "holo={0}&pv={1}&mic={2}&loopback={3}" ,
115+ includeHolograms ,
116+ includeColorCamera ,
117+ includeMicrophone ,
118+ includeAudio ) . ToLower ( ) ;
119+
120+ return Utilities . BuildEndpoint (
121+ this . deviceConnection . Connection ,
122+ MrcLiveStreamHighResApi ,
123+ payload ) ;
124+ }
125+
126+ /// <summary>
127+ /// Retrieve the Uri for the low resolution Mixed Reality Capture live stream.
128+ /// </summary>
129+ /// <param name="includeHolograms">Specifies whether or not to include holograms</param>
130+ /// <param name="includeColorCamera">Specifies whether or not to include the color camera</param>
131+ /// <param name="includeMicrophone">Specifies whether or not to include microphone data</param>
132+ /// <param name="includeAudio">Specifies whether or not to include audio data</param>
133+ /// <returns>Uri used to retreive the Mixed Reality Capture stream.</returns>
134+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
135+ public Uri GetLowResolutionMrcLiveStreamUri (
136+ bool includeHolograms = true ,
137+ bool includeColorCamera = true ,
138+ bool includeMicrophone = true ,
139+ bool includeAudio = true )
140+ {
141+ string payload = string . Format (
142+ "holo={0}&pv={1}&mic={2}&loopback={3}" ,
143+ includeHolograms ,
144+ includeColorCamera ,
145+ includeMicrophone ,
146+ includeAudio ) . ToLower ( ) ;
147+
148+ return Utilities . BuildEndpoint (
149+ this . deviceConnection . Connection ,
150+ MrcLiveStreamLowResApi ,
151+ payload ) ;
152+ }
153+
154+ /// <summary>
155+ /// Retrieve the Uri for the medium resolution Mixed Reality Capture live stream.
156+ /// </summary>
157+ /// <param name="includeHolograms">Specifies whether or not to include holograms</param>
158+ /// <param name="includeColorCamera">Specifies whether or not to include the color camera</param>
159+ /// <param name="includeMicrophone">Specifies whether or not to include microphone data</param>
160+ /// <param name="includeAudio">Specifies whether or not to include audio data</param>
161+ /// <returns>Uri used to retreive the Mixed Reality Capture stream.</returns>
162+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
163+ public Uri GetMediumResolutionMrcLiveStreamUri (
164+ bool includeHolograms = true ,
165+ bool includeColorCamera = true ,
166+ bool includeMicrophone = true ,
167+ bool includeAudio = true )
168+ {
169+ string payload = string . Format (
170+ "holo={0}&pv={1}&mic={2}&loopback={3}" ,
171+ includeHolograms ,
172+ includeColorCamera ,
173+ includeMicrophone ,
174+ includeAudio ) . ToLower ( ) ;
175+
176+ return Utilities . BuildEndpoint (
177+ this . deviceConnection . Connection ,
178+ MrcLiveStreamMediumResApi ,
179+ payload ) ;
180+ }
181+
98182 /// <summary>
99183 /// Gets the capture file data
100184 /// </summary>
101- /// <param name="fileName">Name of the file to retrieve</param>
102- /// <param name="isThumbnailRequest">Whether or not we just want a thumbnail</param>
185+ /// <param name="fileName">Name of the file to retrieve. </param>
186+ /// <param name="isThumbnailRequest">Specifies whether or not we are requesting a thumbnail image. </param>
103187 /// <returns>Byte array containing the file data.</returns>
104188 /// <remarks>This method is only supported on HoloLens devices.</remarks>
105189 public async Task < byte [ ] > GetMrcFileData (
@@ -154,6 +238,36 @@ public async Task<MrcFileList> GetMrcFileList()
154238 return mrcFileList ;
155239 }
156240
241+ /// <summary>
242+ /// Retrieve the Uri for the Mixed Reality Capture live stream using the default resolution.
243+ /// </summary>
244+ /// <param name="includeHolograms">Specifies whether or not to include holograms</param>
245+ /// <param name="includeColorCamera">Specifies whether or not to include the color camera</param>
246+ /// <param name="includeMicrophone">Specifies whether or not to include microphone data</param>
247+ /// <param name="includeAudio">Specifies whether or not to include audio data</param>
248+ /// <returns>Uri used to retreive the Mixed Reality Capture stream.</returns>
249+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
250+ public Uri GetMrcLiveStreamUri (
251+ bool includeHolograms = true ,
252+ bool includeColorCamera = true ,
253+ bool includeMicrophone = true ,
254+ bool includeAudio = true )
255+ {
256+ string payload = string . Format (
257+ "holo={0}&pv={1}&mic={2}&loopback={3}" ,
258+ includeHolograms ,
259+ includeColorCamera ,
260+ includeMicrophone ,
261+ includeAudio ) . ToLower ( ) ;
262+
263+ return Utilities . BuildEndpoint (
264+ this . deviceConnection . Connection ,
265+ MrcLiveStreamApi ,
266+ payload ) ;
267+ }
268+
269+ // TODO: GetMrcSettings()
270+
157271 /// <summary>
158272 /// Gets the status of the reality capture
159273 /// </summary>
@@ -181,15 +295,17 @@ public async Task<byte[]> GetMrcThumbnailData(string fileName)
181295 return await this . GetMrcFileData ( fileName , true ) ;
182296 }
183297
298+ // TODO: SetMrcSettings()
299+
184300 /// <summary>
185301 /// Starts a Mixed Reality Capture recording.
186302 /// </summary>
187- /// <param name="includeHolograms">Whether to include holograms</param>
188- /// <param name="includeColorCamera">Whether to include the color camera</param>
189- /// <param name="includeMicrophone">Whether to include microphone data</param>
190- /// <param name="includeAudio">Whether to include audio data</param>
191- /// <remarks>This method is only supported on HoloLens devices.</remarks>
303+ /// <param name="includeHolograms">Specifies whether or not to include holograms</param>
304+ /// <param name="includeColorCamera">Specifies whether or not to include the color camera</param>
305+ /// <param name="includeMicrophone">Specifies whether or not to include microphone data</param>
306+ /// <param name="includeAudio">Specifies whether or not to include audio data</param>
192307 /// <returns>Task tracking completion of the REST call.</returns>
308+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
193309 public async Task StartMrcRecording (
194310 bool includeHolograms = true ,
195311 bool includeColorCamera = true ,
@@ -216,8 +332,8 @@ await this.Post(
216332 /// <summary>
217333 /// Stops the Mixed Reality Capture recording
218334 /// </summary>
219- /// <remarks>This method is only supported on HoloLens devices.</remarks>
220335 /// <returns>Task tracking completion of the REST call.</returns>
336+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
221337 public async Task StopMrcRecording ( )
222338 {
223339 if ( ! Utilities . IsHoloLens ( this . Platform , this . DeviceFamily ) )
@@ -231,10 +347,10 @@ public async Task StopMrcRecording()
231347 /// <summary>
232348 /// Take a Mixed Reality Capture photo
233349 /// </summary>
234- /// <param name="includeHolograms">Whether to include holograms</param>
235- /// <param name="includeColorCamera">Whether to include the color camera</param>
236- /// <remarks>This method is only supported on HoloLens devices.</remarks>
350+ /// <param name="includeHolograms">Specifies whether or not to include holograms</param>
351+ /// <param name="includeColorCamera">Specifies whether or not to include the color camera</param>
237352 /// <returns>Task tracking completion of the REST call.</returns>
353+ /// <remarks>This method is only supported on HoloLens devices.</remarks>
238354 public async Task TakeMrcPhoto (
239355 bool includeHolograms = true ,
240356 bool includeColorCamera = true )
0 commit comments