(Context, Token) 在实例化 MediaController

(Context, Token) in instantiating MediaController

我正在尝试在我的 VideoView 中添加一个 mediaController。我正在尝试按照 site.

中的教程进行操作

但是,我的class这一行有错误。

MediaController mediaController = new MediaController(this);

错误说,

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

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

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

我的Class

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);

}
 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); 
                                                    } 
                                                }); 
                                            } 
                                        }); 

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

import android.widget.MediaController;

上面class有你要找的构造函数。 link:

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

您可能正在使用下面的一个:

 import android.media.session.MediaController;

希望对您有所帮助

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

这个解决了我的 'this' 问题

import import android.widget.MediaController;