我该如何处理这个错误? 请帮助我摆脱这种情况。
private void previewVideo(){
try{
var path = Android.Net.Uri.Parse(App._file.AbsolutePath);
preview.SetVideoURI (path);
preview.Start ();
}
catch(Exception e){
e.GetBaseException ();
}
}
答案 0 :(得分:0)
您很幸运我正在关注您之前提出的问题。请尽量让您的问题尽可能详细,这样我们就可以更轻松地进行分析,并可能复制错误。
为了能够在VideoView上设置错误监听器,VideoView需要一个实现Android.Media.MediaPlayer.IOnErrorListener
接口的对象。
您可以通过让您的Activity实现前面提到的界面,并将Activity设置为VideoView的ErrorListener
来实现这一点。public class MainActivity : Activity, Android.Media.MediaPlayer.IOnErrorListener
{
...
protected override void OnCreate(Bundle bundle)
{
...
preview = FindViewById<VideoView> (Resource.Id.SampleVideoView);
preview.SetOnErrorListener(this); // <- Set the error listener
...
}
...
//The implementation of MediaPlayer.IOnErrorListener
public bool OnError(MediaPlayer player, MediaError error, int extra)
{
// Do Something here because error happened
}
...
}
通过这样做,当VideoView中发生错误时,VideoView将调用公共OnError
方法。
从Android Docs of OnErrorListener您可以看到OnError
方法应返回的内容。
<强>返回强>:
如果方法处理错误,则为true;如果不是,则为false。返回false,或者根本没有OnErrorListener,将导致调用OnCompletionListener。