Skip to main content

Bose PinPoint

This guide is provided by Bose PinPoint. Agora is planning a documentation upgrade program for all extensions on the marketplace. Please stay tuned.

The Bose PinPoint extension reduces noise from the local microphone signal. To use our extension you just need to call the standard Agora-provided methods.

Integrate Bose PinPoint extension

First, activate the extension in Agora Console on your project. Activate the extension by clicking Activate and agree to the prompt. Enable the extension on the projects you wish to integrate the PinPoint Extension with. Finally click View, under Credentials, on that project and make note of the API Key and API Secret.

Add the Android Archive file, agora-pinpoint-release.aar to your project, and note the directory. In this example the file agora-pinpoint-release.aar was added to the app/libs directory. Then add the dependency to the app's build.gradle by adding the line implementation(files("libs/agora-pinpoint-release.aar")) under dependencies

Getting started

To configure the extension, use the setExtensionPropertyWithVendor method. You need to set your API Key and API Secret values using this method. You can find these values for your project in the Agora Extensions Marketplace.

You can also find the example app in the android/example directory in the extension package. Go to the section titled Using The Example Projects for more information about running the example projects.


_1
mRtcEngine.setExtensionProperty("Bose", "PinPoint", "apiKey", "EXAMPLE_API_KEY"); mRtcEngine.setExtensionProperty("Bose", "PinPoint", "apiSecret", "EXAMPLE_API_SECRET");

Adding the extension

To add the extension to your instance of RtcEngine include the following call to addExtension when setting up your RtcEngineConfig


_6
RtcEngineConfig config = new RtcEngineConfig();
_6
config.mContext = this;
_6
config.mAppId = AppConfig.appId;
_6
config.addExtension(ExtensionManager.EXTENSION_NAME);
_6
config.mExtensionObserver = this;
_6
config.mEventHandler = new IRtcEngineEventHandler() {

Enabling the extension


_2
PinPoint.configure(getAssets());
_2
mRtcEngine.enableExtension(“Bose”, ”PinPoint”, true);

After the extension is enabled and the settings are validated, it starts reducing the noise from the local microphone signal automatically

Run the demo

Download Agora Video SDK from Agora Extensions Marketplace and copy the zip file into the libs/ directory and unzip them. You will need to have at least version 4.0.0 beta to use Extensions.

Open android/example/app/src/main/java/agoramarketplace/bose/pinpoint/AppConfig.java

Set your Agora appID and token (if using one) found in the Agora console


_3
final static String appId = "YOUR_APP_ID";
_3
final static String apiKey = "YOUR_API_KEY";
_3
final static String apiSecret = "YOUR_API_SECRET";

Set your Bose PinPoint Extension apiKey and apiSecret found in the Agora Extensions Marketplace.

If only one device is available to test with, you can join the channel by entering your App ID and channel name, which defaults to agora_extension using one of the Agora Examples

Reference

Troubleshooting

Android:

If the app crashes immediatly after setting the room name try these troubleshooting options:

  1. Confirm that apiKey, apiSecret, appID and token (if used) are set in the app and match the values present in the Agora Dev Console and Agora .

iOS:

If [self.agoraKit enableExtensionWithVendor:@"Bose" extension:@"PinPoint" enabled:YES] is returning a negative number. Try these troubleshooting options:

  1. Confirm that apiKey, apiSecret, appID and token (if used) are set in the app and match the values present in the Agora Dev Console and Agora.
  2. If it’s still returning a negative number, make sure the .framework has been manually added to the Xcode project by adding the Framework to, Frameworks, Libraries, and Embedded Content.
  3. If while setting up the example app, you receive an error message stating dyld: library not loaded make sure the framework has been marked as, Embed & Sign, instead of the default, Do not Embed.

Page Content