隐藏

使用xamarin实现全屏播放rtmp之类的直播视频

发布:2021/10/14 17:13:56作者:管理员 来源:本站 浏览次数:1090



直播类的app大部分都是以rtmp hls播放为主。目前主流的app解决方案大部分是引入ijkplayer 这个是基于ffmpeg中的ffplayer实现的。


众所周知ffmpeg的解码能力是一流的。暴风xx  xx解码之类都是基于ffmpeg魔改出来的。七牛的直播就是基于Ijkplayer实现的


下面我介绍如何使用QiNiu.PLPlayer.Droid 实现全屏直播  


https://github.com/jsonsugar/QiNiu.PLPlayer.Droid


首先创建一个默认的xamarin.android库然后实现 引入上面的绑定库


记得 下载一个libs




然后设置main.xaml


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

   android:orientation="vertical"

   android:layout_width="match_parent"

   android:layout_height="match_parent">

   <com.pili.pldroid.player.widget.PLVideoView

       android:id="@+id/PLVideoView"

       android:layout_width="match_parent"

       android:layout_height="match_parent"

       android:layout_gravity="center" />

</LinearLayout>


在mainactivity 加入下面代码


[Activity(Label = "视频直播", MainLauncher = true, ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation,

       ScreenOrientation = Android.Content.PM.ScreenOrientation.Landscape,

       Icon = "@drawable/icon")]

   public class MainActivity : Activity

   {

       protected override void OnCreate(Bundle bundle)

       {

           base.OnCreate(bundle);


           //Quanp

           RequestWindowFeature(Android.Views.WindowFeatures.NoTitle);// 隐藏标题


           Window.SetFlags(Android.Views.WindowManagerFlags.Fullscreen, Android.Views.WindowManagerFlags.Fullscreen);// 设置全屏

           SetContentView(Resource.Layout.Main);

           PLVideoView mVideoView = FindViewById<PLVideoView>(Resource.Id.PLVideoView);

           mVideoView.SetVideoPath("rtmp://live.hkstv.hk.lxdns.com/live/hks");


       }

   }


完成


https://github.com/jsonsugar/QiNiu.PLPlayer.DroidDemo