Laerdal / Xamarin.AzureCommunicationCalling

Xamarin iOS and Android binding libraries for Microsofts Azure Communication Services
MIT License
36 stars 11 forks source link

Can't disable the Noise suppression #54

Open BK-83 opened 1 month ago

BK-83 commented 1 month ago

Due to default feature of ACS (noise cancellation or noise suppression) I can't transmit the other sounds at the receiver end.

Is there any way I can achieve this using the nugget source in my Xamarin application.

I need to transmit bit audio to ACS but the feature discards it as noise.

tompi commented 1 month ago

Hey, if its the phone that does the noise cancellation(seems probable), you might be able to achieve this by raw media access: https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/get-started-raw-media-access?pivots=platform-web

Im not sure everything is exposed in the android bindings, since async methods here needs manual attention. So if you want to give it a go, I recommend trying it out on ios, and if succesfull, port to android and just let me know if anything is missing and i will add it.

BK-83 commented 1 month ago

I can't access the Raw media using the nuget source into my Xamarin application for the both platform Android and iOS.

Can you add the audio effects provided by Microsoft to the NuGet package? image

I have spoken to Microsoft support and they provided feedback as ACS having the default capabilities to reduce background noise. He also added that, for such requirement in the video calling feature I need to manage "Audio Effects".

image

I've requirement to transmit the audio using digital stethoscope into the ACS module.

BK-83 commented 1 month ago

Did you guys find something that helped me solve the problem?

tompi commented 1 month ago

Hey, did you check out OutgoingAudioOptions on the CallOption? It seems that has the possibility to turn off NoiseSuppressionMode via the OutgoingAudioFilters.

Have not tried this myself, but I assume it should work

Strangely, this does not seem to be supported by group-calls...

P.S: You should use the MAUI version. The xamarin version is not kept up to date... And as I said, I recommend testing on ios first...

BK-83 commented 1 month ago

I can't add the iOS nugget for MAUI app and it throws an below mention error.

Error Could not find a part of the path 'C:\Users\admin.nuget\packages\laerdal.maui.azurecommunicationcalling.ios\2.11.0.3\lib\net8.0-ios17.2\Laerdal.Maui.AzureCommunicationCalling.iOS.resources\AzureCommunicationCalling.xcframework\ios-arm64\AzureCommunicationCalling.framework\ACSMetalRenderer.metallib'.

Can you update the similar structure for Xamarin nuget for now, because my app still in a development face and I plant to convert into the MAUI version once completing all views.

tompi commented 1 month ago

Sorry, but supporting Xamarin is not going to happen... Especially seeing as it is not even supported by Microsoft...

You should probably convert to maui asap, no matter which communication solution you end up using...

BK-83 commented 1 month ago

Can you help me to resolved the iOS nugget installing issue with the MAUI app which I mention above. The issue comes with all stable versions available for the iOS platform.

tompi commented 1 month ago

Sure. Are you targetting net8.0-ios? I just tried with a clean maui-app and it install fine?

tompi commented 1 month ago
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0-ios'">
  <PackageReference Include="Laerdal.Maui.AzureCommunicationCalling.iOS" Version="2.11.0.3" />
</ItemGroup>
BK-83 commented 4 weeks ago

I try to install the iOS version with creating new project with targeting to .net 8.0 and also tested the similar things with multiple system as well whose having different visual studio versions.

But having the same issue. Can you please share the project you have created, so that I can load it here.

image

tompi commented 4 weeks ago

Hmm, are you on windows? Might be a too long path issue :(

Could you check on a mac?

I will keep this issue and shorten the path for the next release

BK-83 commented 3 weeks ago

I also checked on Mac, but could not succeed.

When do you plan to release a new version for the iOS platform?

tompi commented 2 weeks ago

Sorry, but I checked again, and it installs fine in a new project... (Tested both rider and visual studio on mac...)

Is your project targeting net8.0-ios ? You are doing "new project" -> "maui" or "ios" ?

Sure you are up to date on xcode versions? (I think you need xcode 15 and ios sdk 17)

BK-83 commented 2 weeks ago

Yes I checked with creating the new MAUI project target to .net 8.0 and also I've the xcode 15.4 installed in mac.

Please check the attached file. https://github.com/user-attachments/assets/74177c36-2eaf-4458-9a60-c3ccc01bc2e5 image

Can you please share your project so can I load it here and see whether it's working or not.

tompi commented 2 weeks ago

Hi. your video is from windows... I dont have access to any windows machines.. I just did new project like you did, but on a mac...

BK-83 commented 2 weeks ago

Tried to add the nugget source from Mac and its added successfully but when loading same project in windows it throws an error like " nugget doesn't exist."

Error

I need to work on windows because of my app also support the Android version and it doesn't properly work in mac.

Is their any way I can add the nugget source on the windows machine or can you provide me the nugget source file so I can add it locally.

tompi commented 2 weeks ago

Ok, good. Its confirmed then, this is an issue with filenames that are too long for windows to handle...

I will fix this for the next release, but might take some time.

You will need to get your solution to compile on a mac if you want it released in the appstore?

BK-83 commented 2 weeks ago

Can you please share the approximate time when you are going to release the new version?

BK-83 commented 1 week ago

Have you guys made any plan for releasing the new version for iOS platform?

Currently my app already developed using the Xamarin.Forms and only I can convert if its working fine for the MAUI version with my requirement.

That would be great if you can provide the approximate time for new release.