当前位置: 首页>>代码示例>>C#>>正文


C# MediaPlayer.PrepareAsync方法代码示例

本文整理汇总了C#中Android.Media.MediaPlayer.PrepareAsync方法的典型用法代码示例。如果您正苦于以下问题:C# MediaPlayer.PrepareAsync方法的具体用法?C# MediaPlayer.PrepareAsync怎么用?C# MediaPlayer.PrepareAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Android.Media.MediaPlayer的用法示例。


在下文中一共展示了MediaPlayer.PrepareAsync方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PlayVideo

		private void PlayVideo(SurfaceTexture surfaceTexture)
		{
			DoCleanUp();
			try
			{

				path = "http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8";
				if (path == "")
				{
					// Tell the user to provide a media file URL.
					Toast.MakeText(this, "Please edit MediaPlayerDemo_setSurface Activity, " + "and set the path variable to your media file path." + " Your media file must be stored on sdcard.", ToastLength.Long).Show();
					return;
				}
				// Create a new media player and set the listeners
				mMediaPlayer = new MediaPlayer(this, true);
				mMediaPlayer.SetDataSource(path);
				if (surf == null)
				{
					surf = new Surface (surfaceTexture);
				}
				mMediaPlayer.SetSurface(surf);
				mMediaPlayer.PrepareAsync();
				mMediaPlayer.SetOnBufferingUpdateListener(this);
				mMediaPlayer.SetOnCompletionListener(this);
				mMediaPlayer.SetOnPreparedListener(this);
				VolumeControlStream = Stream.Music;

			}
			catch (Exception e)
			{
				Log.Error(TAG, "error: " + e.Message, e);
			}
		}
开发者ID:huguodong,项目名称:VitamioBinding-1.0,代码行数:33,代码来源:MediaPlayerDemo_setSurface.cs

示例2: Sound

 public Sound(string filename, float volume, bool looping)
 {
     this._player = new MediaPlayer();
     // get the Asset Descriptor and Release it when the SetDataSource returns
     // otherwise you cant play the file
     using (AssetFileDescriptor fd = Game.contextInstance.Assets.OpenFd(filename))
     {
         _player.SetDataSource(fd.FileDescriptor);
     }
     _player.Prepared += this.OnPrepared;
     this.Looping = looping;
     this.Volume = volume;
     // prepare on the background  thread
     try
     {
         _player.PrepareAsync();
     }
     catch (Exception ex)
     {
         Log.Debug("MonoGameInfo", ex.ToString());
     }
 }
开发者ID:noxo,项目名称:MonoGame,代码行数:22,代码来源:Sound.cs

示例3: OnCreate

    protected async override void OnCreate(Bundle bundle)
    {
      base.OnCreate(bundle);

      SetContentView(Resource.Layout.PodcastDetail);

      var showNumber = Intent.GetIntExtra("show_number", 0);
      episode = Activity1.ViewModel.GetPodcast(showNumber);


      var description = FindViewById<TextView>(Resource.Id.descriptionView);
      description.Text = episode.Description;

      var play = FindViewById<Button>(Resource.Id.playButton);
      var pause = FindViewById<Button>(Resource.Id.pauseButton);
      var stop = FindViewById<Button>(Resource.Id.stopButton);
      seekBar = FindViewById<SeekBar>(Resource.Id.seekBar1);
      status = FindViewById<TextView>(Resource.Id.statusText);
      updateHandler = new Handler();

      player = new MediaPlayer();
      player.SetDataSource(this, Android.Net.Uri.Parse(episode.AudioUrl));
      player.PrepareAsync();

      player.Prepared += (sender, e) =>
          {
            initialized = true;
            player.SeekTo(timeToSet * 1000);
            UpdateStatus();
          };

      play.Click += (sender, e) =>
      {
        player.Start();
        updateHandler.PostDelayed(UpdateStatus, 1000);
      };

      pause.Click += (sender, e) => player.Pause();

      stop.Click += (sender, e) =>
      {
        player.Stop();
        player.Reset();
        player.SetDataSource(this, Android.Net.Uri.Parse(episode.AudioUrl));
        player.Prepare();
      };

      seekBar.ProgressChanged += (sender, e) =>
          {
            if (!e.FromUser)
              return;

            player.SeekTo((int)(player.Duration * ((float)seekBar.Progress / 100.0)));
          };

      var updated = await episode.GetTimeAsync();

      if (updated == null || updated.ShowNumber != episode.ShowNumber)
        return;

      if (initialized && player != null)
      {
        player.SeekTo(updated.CurrentTime * 1000);
        UpdateStatus();
      }
      else
      {
        timeToSet = updated.CurrentTime;
      }
    }
开发者ID:rampyodm,项目名称:XamarinDNR,代码行数:70,代码来源:PodcastDetailActivity.cs

示例4: PlayVideo

		private void PlayVideo(int Media)
		{
			DoCleanUp();
			try
			{

				switch (Media)
				{
				case LOCAL_VIDEO:
					//                
					//				 * TODO: Set the path variable to a local media file path.
					//				 
					path = "http://172.16.101.100:81/video/123.mp4";
					if (path == "")
					{
						// Tell the user to provide a media file URL.
						Toast.MakeText(this, "Please edit MediaPlayerDemo_Video Activity, " + "and set the path variable to your media file path." + " Your media file must be stored on sdcard.", ToastLength.Long).Show();
						return;
					}
					break;
				case STREAM_VIDEO:
					//                
					//				 * TODO: Set path variable to progressive streamable mp4 or
					//				 * 3gpp format URL. Http protocol should be used.
					//				 * Mediaplayer can only play "progressive streamable
					//				 * contents" which basically means: 1. the movie atom has to
					//				 * precede all the media data atoms. 2. The clip has to be
					//				 * reasonably interleaved.
					//				 * 
					//				 
						path = "http://172.16.101.100:81/video/123.mp4";
					if (path == "")
					{
						// Tell the user to provide a media file URL.
						Toast.MakeText(this, "Please edit MediaPlayerDemo_Video Activity," + " and set the path variable to your media file URL.", ToastLength.Long).Show();
						return;
					}

					break;

				}

				// Create a new media player and set the listeners
				mMediaPlayer = new MediaPlayer(this);
				mMediaPlayer.SetDataSource(path);
				mMediaPlayer.SetDisplay(holder);
				mMediaPlayer.PrepareAsync();
				mMediaPlayer.SetOnBufferingUpdateListener(this);
				mMediaPlayer.SetOnCompletionListener(this);
				mMediaPlayer.SetOnPreparedListener(this);
				mMediaPlayer.SetOnVideoSizeChangedListener(this);
				VolumeControlStream = Stream.Music;

			}
			catch (Exception e)
			{
				Log.Error(TAG, "error: " + e.Message, e);
			}
		}
开发者ID:huguodong,项目名称:VitamioBinding-1.0,代码行数:59,代码来源:MediaPlayerDemo_Video.cs


注:本文中的Android.Media.MediaPlayer.PrepareAsync方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。