Как отключить звук в объявлениях Google IMA

Я использую Google-IMA Android SDK для загрузки добавлений и воспроизведения видео в моем приложении.

Из примера приложения, представленного по этой ссылке, я могу воспроизводить рекламу и видео.

Но я не могу отключить звук для воспроизводимой рекламы.

Пробовал с setAdWillPlayMuted(boolean) согласно справке по API Android, но все равно добавляет игру со звуком.

Но в IMA SDK for IOS, API тома IMAAdsManager можно использовать для отключения звука тома, который работает в устройствах IOS, как и ожидалось.

я использую interactivemedia:3.9.0 согласно загруженной демонстрационной версии в Android.

Нужно ли использовать какие-либо другие API или классы, чтобы добиться отключения звука?

ПРИМЕЧАНИЕ: отключение системного тома - это не то, чего я пытаюсь достичь

1 ответ

Единственный способ переключить громкость рекламы IMA на Android - использовать ExoPlayer для загрузки рекламы IMA.

Библиотека ExoPlayer имеет API-интерфейсы, позволяющие предоставлять тег Ad через класс AdsMediaSource.

После успешной загрузки рекламы через ExoPlayer я смог использовать API управления громкостью ExoPlayer для отключения / включения звука рекламы.

Конечно, это не самое идеальное решение, и мне жаль, что у меня нет лучшего совета.

Буду рад помочь вам в этом.

Вам не нужен объект IMAVideoDisplay, чтобы установить громкость рекламы. После того, как вы получите Менеджер рекламы из успешного запроса объявления, вы можете установить громкость IMAAdsManager, чтобы изменить громкость рекламы. Обратите внимание, что установленная вами громкость зависит от громкости устройства. Ниже приведен небольшой фрагмент кода, демонстрирующий, как этого можно достичь:

- (void)adsLoader:(IMAAdsLoader *)loader adsLoadedWithData:(IMAAdsLoadedData *)adsLoadedData {
  // Grab the instance of the IMAAdsManager and set the delegate.
  self.adsManager = adsLoadedData.adsManager;
  self.adsManager.delegate = self;

  // Set the current ads' volume to 50% of the device's volume
  self.adsManager.volume = 0.5f;

  // Create ads rendering settings to tell the SDK to use the in-app browser.
  IMAAdsRenderingSettings *adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init];
  adsRenderingSettings.webOpenerPresentingController = self;

  // Initialize the ads manager.
  [self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
}

Сообщите мне, работает ли это для вас.

Другие вопросы по тегам