使用Libstreaming库(Android)在VideoView加载时自动播放音频



我正在开发一个phonegap应用程序,它有一个VideoView屏幕来播放音频(来自Wowza流媒体引擎)。我的问题是,当VideoView加载到屏幕上时,我想立即播放音频。目前在我的应用程序中发生的事情,当我的VideoView加载时,它甚至没有显示在屏幕上(当我触摸屏幕时,它会显示,这是另一个问题)。

现在,当它出现在触摸屏上时,我必须单击播放按钮才能开始播放音频。(我正在使用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 = "";}

这就是我解决它的方法。

事实上,如果Wowza媒体服务器上相应应用程序的"传入流"选项卡在运行模式下包含音频,Vitamio媒体播放器会自动开始播放音频。

我的意思是,只有当Audio在Wowza媒体服务器上启动并运行时,才能调用Vitamio的start()方法。

我所做的是,我首先检查(每5秒)Wowza上的音频是否已启动并运行(从另一台设备获取音频流),如果它正在运行,则调用start()方法。

检查此链接

当Wowza服务器上的音频没有运行并且Vitamio start()方法被执行时,就会出现问题。您必须实现一个RestAPI web服务,以便在某个时间间隔内检查Wowza上的音频。

相关内容

  • 没有找到相关文章

最新更新