2016-07-25 6 views
1

Я пытаюсь использовать собственный SDK для webrtc (libjingle) для android. Пока я могу отправлять потоки от android к сети (или другим платформам) просто отлично. Я также могу получить MediaStream от однорангового узла. (к обратному сигналу onAddStream)Как играть в webrtc.AudioTrack на Android (нет видео)

Проект, над которым я работаю, требует только аудиопотоков. никакие видео треки не создаются и не отправляются никому.

Мой вопрос: Как я могу использовать объект MediaStream, который я получаю от удаленных одноранговых узлов?

@Override 
public void onAddStream(MediaStream mediaStream) { 
    Log.d(TAG, "onAddStream: got remote stream"); 
    // Need to play the audio /// 
} 

Снова вопрос об аудио. Я не использую видео. , очевидно, все родные примеры webrtc используют видео треки, поэтому мне не повезло найти какую-либо документацию или примеры в Интернете.

Заранее благодарен!

ответ

1

Мы можем получить удаленный звуковой дорожки, используя ниже код

import org.webrtc.AudioTrack; 

@Override 
public void onAddStream(final MediaStream stream){ 
    if(stream.audioTracks.size() > 0) { 
     remoteAudioTrack = stream.audioTracks.get(0); 
    } 
} 

Видимо все родные примеры WebRTC использует видео треки, поэтому я не везло найти какую-либо документацию или примеры в Интернете ,

Да, в качестве разработчика приложений мы должны заботиться только о рендеринге видео. Если мы получили дистанционную звуковую дорожку, по умолчанию она будет воспроизводиться в настройках приближения динамиков по умолчанию (наушники/громкоговоритель/проводная гарнитура).

Проверить ниже код в AppRTCAudioManager.java , чтобы включить/выключить динамик

/** Sets the speaker phone mode. */ 
private void setSpeakerphoneOn(boolean on) { 
    boolean wasOn = audioManager.isSpeakerphoneOn(); 
    if (wasOn == on) { 
     return; 
    } 
    audioManager.setSpeakerphoneOn(on); 
} 

Ссылка Источник: AppRTCAudioManager.java

+0

Спасибо за ответ !! - Как я могу получить экземпляр аудиомастера? в использовании чистого libjingle. –

+0

AudioManager - это внутренняя библиотека Android – Ajay

+0

Так просто - Спасибо! –