2015-11-23 6 views
2

Я разрабатываю приложение для телефонного разговора, которое имеет экран VideoView для воспроизведения звука (исходя из потокового движка Wowza). Моя проблема в том, что я хочу воспроизводить звук мгновенно, когда VideoView загружается на экран. Что происходит в моем приложении, Когда мой VideoView загружается. Он даже не появляется на экране (он появляется, когда я касаюсь экрана, Это еще одна проблема).Воспроизведение аудио автоматически при загрузке VideoView с использованием библиотеки Libstreaming (Android)

Теперь, когда он появляется на экране при касании, я должен нажать кнопку воспроизведения, чтобы начать воспроизведение звука. (Я использую libstreaming библиотеки)

Вот мой код-

activity_main.xml

<io.vov.vitamio.widget.VideoView 
    android:id="@+id/video_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:keepScreenOn="true" 
    android:visibility="visible" 
    /> 

активность Класс:

private VideoView mVideoView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    setContentView(R.layout.activity_main); 

    if (!LibsChecker.checkVitamioLibs(this)) 
     return; 

    mVideoView = (VideoView) findViewById(R.id.video_view); 
    mVideoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH); 
    mVideoView.getHolder().setFormat(PixelFormat.RGBX_8888); 
    startRtmpStream(); 
} 

public void startRtmpStream() { 
    mVideoView.setVideoPath(AppConfig.STREAM_URL_AUDIO_ONLY); 
    mVideoView.setMediaController(new MediaController(this)); 
    mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mediaPlayer) { 
      mediaPlayer.setPlaybackSpeed(1.0f); 
     } 
    }); 
    mVideoView.start(); 
} 

AppConfig.java

public class AppConfig { 
    public static final String STREAM_URL_AUDIO_ONLY = "rtmp://10.101.3.129:1935/app1/myStream"; 
    public static final String PUBLISHER_USERNAME = ""; 
    public static final String PUBLISHER_PASSWORD = "";} 

ответ

2

Вот как я это решил ,

На самом деле медиаплеер Vitamio автоматически воспроизводит звук. Если вкладка входящего потока соответствующего приложения на медиа-сервере Wowza содержит аудио в режиме работы.

Я имею в виду, вызовите метод start() Vitamio только тогда, когда Audio запущен на сервере Wowza media.

Что я делаю, я сначала проверяю (каждые 5 секунд), работает ли звук на Wowza (получает аудиопоток с другого устройства) или нет, если он запущен, то вызовите метод start().

Проверить this link

Проблема возникает, когда звук на сервере Wowza не работает и метод Vitamio запуска() запускается на выполнение. Вам потребуется реализовать веб-службу RestAPI для проверки звука на Wowza за определенный промежуток времени.