【问题标题】:(Context, Token) in instantiating MediaController(Context, Token) 在实例化 MediaController
【发布时间】:2015-02-12 05:58:01
【问题描述】:

我正在尝试在我的 VideoView 中添加一个 mediaController。我正在尝试按照site 中的教程进行操作。

但是,我的班级在这一行中有一个错误。

MediaController mediaController = new MediaController(this);

错误说,

MediaController (Context, Token) in MediaController cannot be applied to (MainActivity)

Token 参数是什么?自从我使用 Native Android 编码以来已经有一段时间了,我想我错过了一些必要的细节和更改。

编辑 我正在查看另一个教程,链接中的那个是在 Android Studio 中制作的。我的错误。

我的班级

public class MainActivity extends ActionBarActivity {
public VideoView videoOne;
@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    videoOne = (VideoView) findViewById(R.id.videoView);
    videoOne.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video1));
    videoOne.start();

    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(videoOne);
    videoOne.setMediaController(mediaController);

    videoOne.setOnPreparedListener(new MediaPlayer.OnPreparedListener()  {
        @Override
        public void onPrepared(MediaPlayer mp) {
            Log.i("Video Duration", "Duration = " + videoOne.getDuration());
        }
    });
    videoOne.setMediaController(mediaController);

}

【问题讨论】:

    标签: android eclipse android-studio android-videoview mediacontroller


    【解决方案1】:

    错误非常简单。确保您正在导入正确的MediaController。为了您的目的,您需要此导入:

    import android.widget.MediaController;
    

    上面的类有你正在寻找的构造函数。链接:

    http://developer.android.com/reference/android/widget/MediaController.html#MediaController(android.content.Context)

    您可能正在使用以下一种:

     import android.media.session.MediaController;
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      这个解决了我的“这个”问题

      import import android.widget.MediaController;
      

      【讨论】:

        【解决方案3】:

        我解决了。我导入了android.media.session.MediaController 而不是android.widget.MediaController

        【讨论】:

          【解决方案4】:
           videoview.setOnPreparedListener(new OnPreparedListener() { 
                  @Override 
                  public void onPrepared(MediaPlayer mp) {
                          mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() { 
                                                          @Override 
                                                          public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
                                                                  /* 
                                                                   *  add media controller 
                                                                   */ 
                                                                  mc = new MediaController(YourActivity.this);;
                                                                  videoview.setMediaController(mc); 
                                                                  /* 
                                                                   * and set its position on screen 
                                                                   */ 
                                                                  mc.setAnchorView(videoview); 
                                                              } 
                                                          }); 
                                                      } 
                                                  }); 
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-08-12
            • 2017-12-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-07-22
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多