Q:

SeekBar.IOnSeekBarChangeListener, seekBar can't run

A callback that notifies clients when the progress level has been changed. This includes changes that were initiated by the user through a touch gesture or arrow key/trackball as well as changes that were initiated programmatically.
Inside OnCreate
public class AudioPlayer : Activity,SeekBar.IOnSeekBarChangeListener
seekBar.SetOnSeekBarChangeListener (this);
        seekBar.ProgressChanged+= (object sender, SeekBar.ProgressChangedEventArgs e) => {
            int progress=(int)(utils.getProgressPercentage(player.CurrentPosition,player.Duration));
            seekBar.Progress = progress;

        };

public void OnStartTrackingTouch(SeekBar seekBar) {}

public void OnStopTrackingTouch(SeekBar seekBar) {}

public int getProgressPercentage(int currentDuration, int totalDuration)
{
    int percentage;

    int currentSeconds = (int)(currentDuration / 1000);
    int totalSeconds = (int)(totalDuration / 1000);

    //calculating percentage

    percentage = (((int)currentSeconds) / totalSeconds) * 100;

    return percentage;
}

While tracks are playing, seekBar still stops.

A:

Think you want to do is create a timer which will update the seekBar like this:
Activity:
using System;
using Android.App;
using Android.Widget;
using Android.OS;
using Java.Lang;
using Android.Content;
using Android.Graphics.Drawables;
using Java.Util;

namespace PlayVideo
{
    [Activity (Label = "PlayVideo", MainLauncher = true)]
    public class Activity1 : Activity
    {
        VideoView videoView;
        SeekBar seekBar;
        System.Timers.Timer timer;
        protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);

            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);
            videoView = FindViewById<VideoView> (Resource.Id.SampleVideoView);
            videoView.SetMediaController(new MediaController(this));
            videoView.SetVideoPath ($"android.resource://{PackageName}/{Resource.Raw.output2}");
            videoView.Start ();

            seekBar = FindViewById<SeekBar> (Resource.Id.seekBar);
            seekBar.Max = videoView.Duration;
            seekBar.StartTrackingTouch += (object sender, SeekBar.StartTrackingTouchEventArgs e) => 
            {
                timer.Enabled = false;
            };
            seekBar.StopTrackingTouch += (object sender, SeekBar.StopTrackingTouchEventArgs e) => 
            {
                videoView.SeekTo (e.SeekBar.Progress);
                timer.Enabled = true;           
            };
            UpdateProgressBar ();
        }

        private void UpdateProgressBar() {
            timer = new System.Timers.Timer();
            timer.Interval = 100; 
            timer.Elapsed += OnTimedEvent;
            timer.Enabled = true;
        }

        private void OnTimedEvent(object sender, System.Timers.ElapsedEventArgs e)
        {
            seekBar.Progress = videoView.CurrentPosition;
            seekBar.Max = videoView.Duration;
        }
    }
}

Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <VideoView
        android:id="@+id/SampleVideoView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <SeekBar
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/seekBar" />
</LinearLayout>

it will look like this:

