News & Announcements User Community Developer Community

Welcome to the RingCentral Community

Please note the community is currently under maintenance and is read-only.

Search
Make sure to review our Terms of Use and Community Guidelines.
  Please note the community is currently under maintenance and is read-only.
Home » Developers
C# Download MP3 recordings using SDK
Tags: sdk
Jan 25, 2018 at 4:13am   •   5 replies  •  0 likes
sekar-perumal

Hi,


I am using the RingCentral SDK (https://github.com/ringcentral/ringcentral-csharp) to download call recordings in my C# application.


I am able to make the call using recording id and I am getting the response.


If I save the response as .MP3 format, its not working it.




var recordingRequest = new Request("/restapi/v1.0/account/~/recording/" + item.Recording.Id + "/content");

var recordingResponse = sdk.Platform.Get(recordingRequest);


byte[] byteArray = System.Convert.FromBase64String(recordingResponse.Body);


File.WriteAllBytes(item.Recording.Id + ".mp3", byteArray);




I am converting response text as byte array and storing it as MP3.


Is there anything wrong?


Could any one help me on this?

5 Answers
answered on Apr 4, 2018 at 3:15am  
Hi Sekar Perumal,

                                   I am also facing this issue. Kindly let me know how to resolve.
 Thanks.

 0
answered on Feb 9, 2018 at 12:11pm  
As mentioned by Engineering API Access, the RingCentral endpoint can return a MP3 or a WAV file and you can distinguish this by examining the 'Content-Type' header.

A simple way to do this is check to see if 'Content-Type' header is 'audio/mpeg' in which case use '.mp3' extension, otherwise use '.wav' extension.

Here's a Ruby example:

https://github.com/grokify/ringcentral-sdk-ruby/blob/master/scripts/call-recording_download.rb#L48

ext = response_file.headers['Content-Type'].to_s == 'audio/mpeg' ? '.mp3' : '.wav'

 0
answered on Feb 8, 2018 at 2:53pm  
Hello Sekar,

  You can retrieve the recording meta data and check the contentType to determine if the recording is wave or mp3.  There is an account wide setting to change from the default mp3 to wave. The setting can only be changed by RingCentral. I have not been able to get much information on this setting.  I was told it's an account wide setting and that the recordings would be delivered in that format.  Its seems that this is incorrect as I am still getting both formats.  Unfortunately, my project I requires wav.

http://ringcentral-api-docs.readthedocs.io/en/latest/calllog_call-recordings/

 I hope this helps.
 

 1
answered on Jan 28, 2018 at 11:47pm  
Hi Sekar,

This SDK is what we recommend: https://github.com/ringcentral/ringcentral-csharp-client

And sometimes the recording is *.wav instead of *mp3.

 1
answered on Jan 25, 2018 at 11:00am  
Hi Sekar,

Why don't you try out the sample code from the SDK. I think recording content type is mp3 so I modified the code a little bit here.
var callLogs = await account.CallLog().List(queryParams);    // download a call recording  var callLog = callLogs.records[0];  var content = await account.Recording(callLog.recording.id).Content().Get();  
File.WriteAllBytes(callLog.recording.id + ".mp3", content.data);  
Hope this helps!

+ Phong

 1



A new Community is coming to RingCentral!

Posts are currently read-only as we transition into our new platform.

We thank you for your patience
during this downtime.

Try Workflow Builder

Did you know you can easily automate tasks like responding to SMS, team messages, and more? Plus it's included with RingCentral Video and RingEX plans!

Try RingCentral Workflow Builder

PRODUCTS
RingEX
Message
Video
Phone
OPEN ECOSYSTEM
Developer Platform
APIs
Integrated Apps
App Gallery
Developer support
Games and rewards

RESOURCES
Resource center
Blog
Product Releases
Accessibility
QUICK LINKS
App Download
RingCentral App login
Admin Portal Login
Contact Sales
© 1999-2024 RingCentral, Inc. All rights reserved. Legal Privacy Notice Site Map Contact Us