本文整理汇总了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);
}
}
示例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());
}
}
示例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;
}
}
示例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);
}
}